词云是一个比较常见的数据可视化方法,通过词的大小可以让人一眼就可以看到哪个词比较突出。
我现在知道的画词云的方法有两种,一种是用pyecharts,另一种是用python的wordcloud包。这里主要讲使用pyecharts画词云的方法。
pyecharts github的链接:https://github.com/pyecharts/pyecharts,但是感觉写的不是很清楚啊
用pyecharts画词云时,输入数据中的每一个词为(word,value)这样的元祖形式,然后将所有的词放入一个list中。
例如:[('Sam S Club',10000), ('Macys',6181)]
我们还是来举个?:
### 使用pyecharts画词云
from pyecharts.charts import WordCloud
data = [('python', 23),('word',10),('cloud',5)]
mywordcloud = WordCloud()
mywordcloud.add('',data, shape='circle')
### 渲染图片
mywordcloud.render()
### 指定渲染图片存放的路径
### mywordcloud.render('E:/wordcloud.html')
运行程序后会在指定的位置生成一个html文件,有时候这个html文件打开的很慢,不能秒开的那种,需要等一等。
词云图的轮廓也可以选择,有 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon',默认的词云轮廓为circle。我找了一圈儿,好像没有发现pyecharts支持词云填充图片。wordcloud包支持词云填充图片。
用wordcloud画词云时,不能直接输入word的list,需要用空格将所有的词连接成一个字符串。或者使用词和词频的形式。