StyleCloud | 数据美化神器_词云

后台回复1024,解锁无限快乐!



StyleCloud的特点


1、可以使用 Font Awesome 提供的免费图标更改词云的形状。

2、通过 palettable 更改调色板以自定义风格,更改背景颜色。

3、加梯度使颜色按照特定方向流动。



StyleCloud的安装


pip install stylecloud



使用StyleCloud创建词云


待美化的数据:

StyleCloud | 数据美化神器_ico_02


代码:

StyleCloud | 数据美化神器_数据_03


执行代码过程:

StyleCloud | 数据美化神器_数据_04


生成的ok.png:

StyleCloud | 数据美化神器_数据_05


原图:

StyleCloud | 数据美化神器_ico_06



修改词云的配色


StyleCloud的配色使用了palette样式。

详情点击:https://jiffyclub.github.io/palettable/


代码:

StyleCloud | 数据美化神器_词云_07


配色方案:

StyleCloud | 数据美化神器_数据_08

生成的ok.png:

StyleCloud | 数据美化神器_词云_09



修改词云的形状


StyleCloud的默认形状为旗帜,同时支持Font Awesome提供的免费形状。

详情点击:https://fontawesome.dashgame.com/


代码:

StyleCloud | 数据美化神器_ico_10


选择的形状:

StyleCloud | 数据美化神器_ico_11

生成的ok.png:

StyleCloud | 数据美化神器_数据_12



修改词云颜色的梯度方向


如上,StyleCloud的默认的颜色梯度为随机。我们可以通过梯度参数来对颜色梯度进行控制。


水平梯度(代码):

StyleCloud | 数据美化神器_ico_13


水平梯度(结果):

将待美化的数据替换为字更多的内容,梯度效果更明显。

StyleCloud | 数据美化神器_数据_14

可以看到,颜色的过渡效果为水平变化。


垂直梯度(代码):

StyleCloud | 数据美化神器_词云_15


垂直梯度(结果):

StyleCloud | 数据美化神器_ico_16

可以看到,颜色的过渡效果为垂直变化。



StyleCloud的其他属性


text=None,
file_path=None, # 输入文本/CSV 的文件路径
size=512, # stylecloud 的大小(长度和宽度)
icon_name='fas fa-flag', # stylecloud 形状的图标名称(如 fas fa-grin)。[default: fas fa-flag]
palette='cartocolors.qualitative.Bold_5', # 调色板(通过 palettable 实现)。[default: cartocolors.qualitative.Bold_6]
colors=None,
background_color="white", # 背景颜色
max_font_size=200, # stylecloud 中的最大字号
max_words=2000, # stylecloud 可包含的最大单词数
stopwords=True, # 布尔值,用于筛除常见禁用词
custom_stopwords=STOPWORDS,
icon_dir='.temp',
output_name='stylecloud.png', # stylecloud 的输出文本名
gradient=None, # 梯度方向
font_path=os.path.join(STATIC_PATH,'Staatliches-Regular.ttf'), # stylecloud 所用字体
random_state=None, # 控制单词和颜色的随机状态
collocations=True,
invert_mask=False,
pro_icon_path=None,
pro_css_path=None



奉上完整代码


from stylecloud import gen_stylecloud
import jieba

def gen_wd(file_path):
with open(file_path,mode='r',encoding='utf-8') as f:
wds = jieba.cut(f.read())
result = ' '.join(wds)

gen_stylecloud(
text=result,
font_path='C:\\Windows\\Fonts\\simhei.ttf',
background_color= 'black',
output_name='ok.png',
# 增加配色方案
palette='cartocolors.qualitative.Bold_7',
# 修改形状为桃心
icon_name='fas fa-heart',
# 设置梯度方向
gradient='vertical',
)

if __name__ == "__main__":
gen_wd('test.txt')