『编程派』如何快速生成一张漂亮的词云?( 二 )
所以如果需要绘制词云的数据恰好是这种计算好的数据 , 尝试使用Pyecharts吧 。
主观评分75分|好看但也有一定限制 。
Python制作:wordcloud
现在登场的就是Python中制作词云最常用的wordcloud , 说到wordcloud就不得不介绍jieba分词了 , 简单来说流程就是传一个txt进去 , jieba分词得到结果后再传给wordcloud制作词云 , 同时支持比Pyecharts更多的自定义设置 。
fromwordcloudimportWordCloud
importmatplotlib.pyplotasplt#绘制图像的模块
importjieba#jieba分词
path_txt='music.txt'
f=open(path_txt,'r',encoding='UTF-8').read
#结巴分词 , 生成字符串 , wordcloud无法直接生成正确的中文词云
cut_text="".join(jieba.cut(f))
wordcloud=WordCloud(
#设置字体 , 不然会出现口字乱码 , 文字的路径是电脑的字体一般路径 , 可以换成别的
font_path="msyh.ttc",
#设置了背景 , 宽高
background_color="white",width=1000,height=1000).generate(cut_text)
plt.imshow(wordcloud,interpolation="bilinear")
plt.axis("off")
plt.show
文章图片
从代码和词云效果来看 , wordcloud由于支持修改的参数更多 , 所以也就需要更多的测试不同效果下的图片来找到适合这组数据最优的词云 , 比如我的这图看着就没有pyecharts生成的舒服 , 当然只要自己调整好了 , 就可以保存为一个脚本以后直接使用即可 。
主观评分80分|毕竟是使用最多的词云库 。
Python制作:stylecloud
最后介绍一个由wordcloud优化而来的库stylecloud , 也需要搭配jieba分词使用 , 但是代码更加简介 , 生成的词云也更加美观 , 比如还是刚刚的文本 , 使用下面的代码即可
defjieba_cloud(file_name):
withopen(file_name,'r',encoding='utf8')asf:
word_list=jieba.cut(f.read)
result="".join(word_list)#分词用隔开
#制作中文云词
gen_stylecloud(text=result,font_path='msyh.ttc',output_name=file_name.split('.')[0]+'.png')#必须加中文字体 , 否则格式错误
if__name__=="__main__":
file_name='music.txt'
jieba_cloud(file_name)
文章图片
可以看到 , 在不添加任何配置项默认生成的词云比wordcloud更清爽一点 , 并且也支持更改颜色、背景、风格等 。
主观评分85分|毕竟简单操作能画出好看的词云 。
结束语
以上就是一些绘制词云图的方法 , 你用过哪些?你又会选择哪一款 。
当然绘制词云的方法远不止这些 , 如果你有生成词云更简单、更好看的方法 。 不过虽然词云图很酷炫 , 但并不是所有数据都适合用词云图显示 , 例如数据量太少时很难布局出好看的词云图 , 此时就需要考虑其他的图表了 。
实战:Flask+Vue生成漂亮的词云
Github热门 , 程序员想拿高薪建议都看看
推荐阅读
- 嘴强玩家马小跳如何才能绝地翻盘?萨满:简单,炉石传说:对手场上7个死亡之翼
- 小七柒啊如何评价rookie宋义进?
- :如何让狂铁成为边路战神?第一件出装很重要,选错的话会被压着打
- 游戏新看点迷你世界:无限岩石如何实现?教你打造两款刷石机,岩石用不完,原创
- 七点GAME| 今晚8点直播传送门-7.GAME,如何学好人体结构
- 游戏主春季赛一分未得,要如何才能进世界赛?,RNG实力严重下滑
- 王者慢慢七年越来越强,易峥暴躁指挥“LZ是马可”,如何评价这场比赛?,AG两把野核击败DYG
- 穿越火线手游赛事5.9预告:更变阵容的白鲨与SN如何对抗EDGM与AG
- 共由说摒弃前嫌?如何看待游戏剧情断节现象,阴阳师:跳妹狗子愉快聊天
- 老S说王者后期不再怂——如何秒换装备,团战有输出