关键词: pyecharts; 词云; 可视化;
在做文本分析和关键词统计的时候,我们经常会使用到词云图来展示关键词词频。pyecharts当然也支持词云的生成,并且还可以自定义词云形状。
from pyecharts import charts, options
from pyecharts.globals import SymbolType
import random
wordcloud1 = charts.WordCloud(init_opts=options.InitOpts(width='800px', height='800px'))
wordcloud1.add('词云', data_pair=[(str(i), random.randrange(10, 100)) for i in range(100)],
shape=SymbolType.DIAMOND,
word_gap=5,
word_size_range=[10, 50],
rotate_step=30)
wordcloud2 = charts.WordCloud(init_opts=options.InitOpts(width='1000px', height='1000px'))
wordcloud2.add('词云', data_pair=[(str(i), random.randrange(10, 100)) for i in range(600)],
mask_image='bigdata.jpg',
word_gap=10,
word_size_range=[10, 100],
rotate_step=30)
page = charts.Page()
page.add(wordcloud1).add(wordcloud2)
page.render('wordcloud.html')
使用自带的形状来创建第一个词云
(1)首先初始化词云对象
(2)添加数据系列,data_pair是一个二元数组,分别表示关键词及关键词对应数值大小
(3)shape即是整个词云图的形状,内置的有circle、diamond、star、triangle等等
(4)word_gap是指关键词与关键词之间的间隔
(5)word_size_range是关键词字体大小范围,关键词按照数值大小映射到这个区间内,展示出相应的字体大小
(6)rotate_step
(6)rotate_step代表单词旋转角度范围
看一下我们创建的第一个词云,菱形:

除了使用自带的形状外,我们还可以导入外部图片,比如第二个例子,给mask_image传入一张图片,最后输出的词云便是基于图片形状的:

传入图片

输出词云