本文继续采用PyEcharts v1.x 版本进行绘制词云图。 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2.7+、3.4+版本开发的,而v1.x是一个全新的版本,它是基于Python3.6+版本开发的,另外经PyEcharts开发团队决定,0.5.x 版本将不再进行维护。 绘制的词云图效果是这样的:
没有安装PyEcharts的,先 安装PyEcharts:
# 安装pyecharts模块,直接安装就是最新的版本
pip install pyecharts
安装好PyEcharts之后,就可以将需要使用的模块进行导入:
from pyecharts import options as opts
from pyecharts.charts import WordCloud
然后定义下词云图数据,你也可以导入数据文件作为数据源,不过需要使用zip转换下,可以查阅历史文章如何转换。
data = [("市场", 1446),
("汽车", 928),
("视频", 906),
("电视", 825),
("Lover", 514),
("动漫", 486),
("音乐", 53),
("直播", 163),
("广播电台", 86),
("资讯", 1437),
("商业财经", 422),
("娱乐八卦", 353),
("军事", 331),
("信托", 90),
("征信", 76),
("期货", 76),
("公积金", 40),
("银行理财", 36)]
接下来就可以绘制词云图了:
worldcloud=(
#创建词云对象
WordCloud()
#设置数据系列名称及数据
.add("", data,
#设置单词字体大小范围
word_size_range=[20,100]
)
.set_global_opts(
# 设置词云图标题、字号、位置
title_opts=opts.TitleOpts(title="XXX词云图",
title_textstyle_opts=opts.TextStyleOpts(font_size=30),
pos_left="center")))
#通过render()方法将词云图渲染为html
worldcloud.render('ciyun.html')
绘制词云图也可以选择一张图片作为背景绘图,只需要add()中添加mask_image参数设置图片路径,代码如下:
worldcloud=(
WordCloud()
.add("", data,
# 选择背景图,也可以不加该参数,使用默认背景
mask_image='D:\\python\\2.jpg'
)
.set_global_opts(
title_opts=opts.TitleOpts(title="XXX词云图",
title_textstyle_opts=opts.TextStyleOpts(font_size=30),
pos_left="center")))
worldcloud.render('ciyun.html')
如果设置图片背景,需要注意的是: 1.不要设置word_size_range参数,让PyEcharts自己适配大小; 2.图片不能太大,控制在100KB以内; 3.自定义的图片目前支持 jpg, jpeg, png, ico 的格式; 4. 如果使用了mask_image之后第一次渲染会出现空白的情况,再刷新一次就可以了(Echarts 的问题)------------------ 现购买数据分析课程可赠送菜鸟新书,《谁说菜鸟不会数据分析(信息图篇)》、《谁说菜鸟不会数据分析(R语言篇)》 ,详情请点击
618活动,买一课送一书