1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 利用stylecloud制作更酷炫的词云图

利用stylecloud制作更酷炫的词云图

时间:2020-03-24 09:47:49

相关推荐

利用stylecloud制作更酷炫的词云图

补充:stylecloud绘制词云图详解

stylecloud是wordcloud优化改良版,操作简单,直接调用。

可以使用 Font Awesome 提供的免费图标更改词云的形状;通过 palettable 更改调色板以自定义风格,更改背景颜色;添加梯度使颜色按照特定方向流动。

安装

pip install -i https://pypi.tuna./simple stylecloud

gen_stylecloud 的默认参数

def gen_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):

例子

在 word.txt 中有下面的一段话

暮色西去,留下了淡淡的忧伤。半帘落霞里,醉晕星辰、月隐山巅。一柳落背的残影孤独着滑进了山弯,悄悄的沉眠。烟尘朦胧中,岁月匆匆流逝,追逐着一轮远远的梦想。半盏残垣、两堵城池,萤火中幽香夜色。剪一段经年,写一篇过往,流年里风月缠绵、轻浅如禅。心阅一卷时光,悠然里安静赏花、无语草香。红尘幽幽,行走在尘世的的路上,花间写诗,月下饮酒。一盏琉璃的浮华,云淡风轻中失落。一半的静谧、一半的安祥,遗留着许多错过的情爱、伤过的心灵。生命中太多的笔墨,纸砚一池安然。一扇时光中,悠香着一缕淡淡的芬芳,相伴着一份柔柔的恬淡。一本书写满了人生、一段情温暖了爱恋、一首诗记忆了曾经、一杯茶起落了缘份。握着最美的遇见,写下珍惜。携着最暖的心语,写意温馨。烟雨下的春绿,伏笔了盛夏的明朗。海棠落月的幽静,缠绵着银色的月光,星光执笔的萧瑟和鸣里,轻笛梵音。花月中秦时幛幔垂垂,风尘里汉疆硝烟漫漫。岁月咫尺、天涯相望。尘世匆匆,遥遥万里。留一片春风,栽一山桃源,幽静的心灵里,刻下了多少人的风花雪月、悲欢离合。恍恍惚惚的秋梦里,又有多少人发出了长长的的叹息。年年过四季,岁岁是轮回。人生自己温一壶茶,烫也罢,凉也罢,苦也可,甜也可,自己慢慢品慢慢尝。回想一世,不记得了誓言,也忘记了当初的承诺。什么时候两鬓斑白、皱纹沟壑,什么时候去过桃源,什么时候带雨梨花,都成了过往一笺无字的纸。指尖拨动着岁月的年轮,把曾经都碾成了粉末。洒在大海里、洒在山谷中、种在大树下、种在田园里。明年又会长出春绿、长出秋黄、长出冬雪。再执笔展开红尘,一首岁月一首诗,一韵平仄一片情。烟雨尘世,岁月匆匆……

默认情况下,词云的形状是一面旗帜

# -*- coding: utf-8 -*-import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',output_name='t1.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

设置背景

# -*- coding: utf-8 -*-import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',background_color= 'black',output_name='t2.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

更改调色板以自定义风格

# -*- coding: utf-8 -*-import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',background_color= 'black',#palette='cartocolors.diverging.ArmyRose_3',palette='colorbrewer.diverging.Spectral_11',output_name='t3.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

关于更多的配色,可以参考 https://jiffyclub.github.io/palettable/

gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',background_color= 'black',#palette='cartocolors.diverging.ArmyRose_3',palette=random.choice(choices) , # 随机选取配色方案output_name='t3.png',) #必须加中文字体,否则格式错误

配色有许多种

使用 Font Awesome 提供的免费图标更改词云的形状(不用自己找形状)

/

这里随便找一个图标

或者

/#/%E5%9B%BE%E6%A0%87

/icons?d=gallery

设置icon_name参数,格式

icon_name='fab fa-apple’

icon_name=‘fas fa-plane’

icon_name=‘fas fa-bell’

icon_name=‘fas fa-envira’

# -*- coding: utf-8 -*-import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',# background_color= 'black',palette='cartocolors.diverging.Fall_4',icon_name='fas fa-plane',output_name='t4.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

设置梯度方向

垂直

import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',# background_color= 'black',palette='cartocolors.diverging.TealRose_2',icon_name='fas fa-bell',gradient='vertical' ,output_name='t6.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

水平

# -*- coding: utf-8 -*-import jiebafrom stylecloud import gen_styleclouddef cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read())result = " ".join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='C:\\Windows\\Fonts\\simhei.ttf',# background_color= 'black',palette='cartocolors.diverging.TealRose_2',icon_name='fas fa-bell',gradient='horizontal' ,output_name='t6.png',) #必须加中文字体,否则格式错误if __name__ == "__main__":file_name = 'C:/word.txt'cloud(file_name)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。