pyecharts
Echarts是百度公司出的为数不多的精品,可以做炫酷的动态图,大神陈建东将echarts通过Python实现,设计了pyecharts库。
https://github.com/pyecharts/pyecharts
Echarts是百度开发的,对中文很友好,同样的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(主题河流图)
具体资料,可以自己查找文档
建议使用jupyter notebook
为能与他人有效沟通,需要重现整个分析过程,并将说明文字、代码、图表、公式、结论都整合在一个文档中。如果用PPT或者word效率太低,也不方便朋友亲运行检验或学习你的代码。
显然传统的演示方式并不能满足这一需求,Jupyter Notebook,不仅能在文档中执行代码,还能以网页形式进行分享。
安装pip install jupyter notebook
打开,在命令行输入jupyter notebook
界面
具体的百度,查看教材
这里简单介绍一下WordCloud类(词云)
WordCloud.add() 方法签名
shape="circle",
word_gap=20,
word_size_range=None,
rotate_step=45)
参数 | 含义 | 类型 |
---|---|---|
name | 图列名称 | str |
attr | word数据,词云图中显示的词语 | list |
valua | 词语权重,相当于词频 | list |
shape | 生成的词云图轮廓, 有'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'可选 | list |
word_gap | 单词间隔,默认为20 | int |
word_size_range | 单词字体大小范围,默认为[12,60] | list |
rotate_step | 旋转单词角度,默认为45 | int |
Note: 当且仅当 shape 为默认的'circle'时 rotate_step 参数才生效
例子--再html中有动态效果
from pyecharts import WordCloud
name = [
'Sam S 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']
value = [
10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112,
965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=1300, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud.render()
可制作中文词云
国人福利
from pyecharts import WordCloud
name = [
'Echarts', '图表制作', '炫酷', '牛逼', 'Python',
'编程', '简单', '方便', '快捷', 'Home', 'Johnny Depp',
'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham',
'中文![下载](C:\Users\lenovo\Desktop\user-8459416-1515478136\user-8459416-1515478135\图片\下载.png)
965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=1000, height=620)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud