『编程派』如何快速生成一张漂亮的词云?( 二 )


所以如果需要绘制词云的数据恰好是这种计算好的数据 , 尝试使用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热门 , 程序员想拿高薪建议都看看


推荐阅读