https://v.qq.com/x/page/d05589jud5f.html

视频在手机看起来不清晰,建议使用电脑观看。

https://v.qq.com/x/page/d05589jud5f.html

一、pyecharts Echarts是百度公司出的为数不多的精品,可以做炫酷的动态图,大神陈建东将echarts通过Python实现,设计了pyecharts库,真的很佩服。绝壁好用,推荐大家都去试试,记得关注下大神的知乎尽瞎扯,最新pyecharts更新会在大神知乎账号上推送新消息的。

pyecharts对中文支持特别好,可制作的图表种类也很丰富。

二、 可生成的图表 Echarts可以做很多图表,如下:

  • WordCloud(词云图)

  • Bar(柱状图/条形图)

  • Bar3D(3D 柱状图)

  • Boxplot(箱形图)

  • EffectScatter(带有涟漪特效动画的散点图)

  • Funnel(漏斗图)

  • Gauge(仪表盘)

  • Geo(地理坐标系)

  • Graph(关系图)

  • HeatMap(热力图)

  • Kline(K线图)

  • Line(折线/面积图)

  • Line3D(3D 折线图)

  • Liquid(水球图)

  • Map(地图)

  • Parallel(平行坐标系)

  • Pie(饼图)

  • Polar(极坐标系)

  • Radar(雷达图)

  • Sankey(桑基图)

  • Scatter(散点图)

  • Scatter3D(3D 散点图)

  • ThemeRiver(主题河流图)

今天我就想写自己需要的词云图,后边如果有时间也想将其他的图表一一介绍,毕竟学会了pyecharts,也就会点可视化皮毛了。在学习前,请安装好jupyter notebook,建议大家在notebook上学习练习。

三、 在notebook上渲染图表 从 0.1.9.2 版本开始,pyecharts可以在jupyter notebook上渲染图标。但经过我测试,最新的pyecharts无法再notebook上渲染。为了学习方便,建议大家安装0.1.9.5(我只测试了这个,也能用)。

四、 WordCloud类(词云) 图标尺寸 WordCloud(width, height)

WordCloud.add() 方法签名


add(name, attr, value, shape="circle", word_gap=20, word_size_range=None, rotate_step=45)

4.1 shape:circle


from pyecharts import WordCloud

wordlist = ['Sam', 'Club','Macys', 'Amy Schumer', 'Jurassic World', 'Charter','Communications','Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp','Lena Dunham', 'Lewis', 'Hamilton','KXAN', 'Mary Ellen Mark', 'Farrah','Abraham','Rita Ora', 'Serena Williams', 'NCAA', ' baseball',' tournament','Point Break']

#对应于wordlist中每个元素的词频
freq = [10000, 6181, 6000, 4386, 4055, 2467, 2244, 1898, 1484, 1112,1112,1112, 965, 847, 847, 555, 555,555,550, 462, 366, 360, 282, 273, 265]

#设置图标尺寸大小 
wordcloud = WordCloud(width=1000, height=620)

wordcloud.add(name="", 
              attr=wordlist, 
              shape='circle', 
              value=freq, 
              word_size_range=[20, 100])

#notebook上渲染出词云图
wordcloud

#将词云图渲染并保存到html文件中
#wordcloud.render(path='词云图.html')

4.1 shape:star



from pyecharts import WordCloud

wordlist = ['Sam', 'Club','Macys', 'Amy Schumer', 'Jurassic World', 'Charter','Communications','Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp','Lena Dunham', 'Lewis', 'Hamilton','KXAN', 'Mary Ellen Mark', 'Farrah','Abraham','Rita Ora', 'Serena Williams', 'NCAA', ' baseball',' tournament','Point Break']


freq = [10000, 6181, 6000, 4386, 4055, 2467, 2244, 1898, 1484, 1112,1112,1112, 965, 847, 847, 555, 555,555,550, 462, 366, 360, 282, 273, 265]


wordcloud = WordCloud(width=1000, height=620)

wordcloud.add(name="", 
              attr=wordlist, 
              shape='star', 
              value=freq, 
              word_size_range=[20, 100])

wordcloud

五、 可制作中文词云 之前写过wordcloud库,里面不支持中文词云图制作。需要做一些繁琐的准备工作才能制作。而在Echarts就不用担心这些东西,国人福利a!!


from pyecharts import WordCloud

wordlist = ['Echarts', '图表制作','炫酷', '牛逼', 'Python', '编程','简单','方便', '快捷', '好玩好看', 'Python大法好', 'Wow!', '不知道说啥了','国庆最后一天', '点赞', '给力','哈哈', 'DaDeng','一入Python门,深似海','学无止境', '无py不欢', '数据科学', '爬虫',' 文本分析','大邓带你玩Python','pyecharts']

freq = [7000, 6181, 6000, 4386, 4055, 2467, 2244, 1898, 1484, 1112,1112,1112, 965, 847, 847, 555, 555,555,550, 462, 366, 360,299, 10000, 7000]

wordcloud = WordCloud(width=1000, height=620)

wordcloud.add(name="", 
              attr=wordlist, 
              shape='star', 
              value=freq, 
              word_size_range=[20, 100])

wordcloud