本文继续采用
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:python2.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活动,买一课送一书