后台回复1024,解锁无限快乐!
StyleCloud的特点
1、可以使用 Font Awesome 提供的免费图标更改词云的形状。
2、通过 palettable 更改调色板以自定义风格,更改背景颜色。
3、加梯度使颜色按照特定方向流动。
StyleCloud的安装
pip install stylecloud
使用StyleCloud创建词云
待美化的数据:
代码:
执行代码过程:
生成的ok.png:
原图:
修改词云的配色
StyleCloud的配色使用了palette样式。
详情点击:https://jiffyclub.github.io/palettable/
代码:
配色方案:
生成的ok.png:
修改词云的形状
StyleCloud的默认形状为旗帜,同时支持Font Awesome提供的免费形状。
详情点击:https://fontawesome.dashgame.com/
代码:
选择的形状:
生成的ok.png:
修改词云颜色的梯度方向
如上,StyleCloud的默认的颜色梯度为随机。我们可以通过梯度参数来对颜色梯度进行控制。
水平梯度(代码):
水平梯度(结果):
将待美化的数据替换为字更多的内容,梯度效果更明显。
可以看到,颜色的过渡效果为水平变化。
垂直梯度(代码):
垂直梯度(结果):
可以看到,颜色的过渡效果为垂直变化。
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')
完
往期推荐
点亮在看!