一、初识Pyecharts
大家好,我是Python进阶者。
pyecharts简介
pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
Pyecharts官网
https://pyecharts.org/#/zh-cn/intro
pyecharts安装
pip install pyecharts
二、Pyecharts可视化
使用pyecharts可以绘制如下图表:

这里我们简介一下常用的图表的API:
2.0、初始化设置
导入相关库:
1from pyecharts.charts import * 2import pyecharts.options as opts
- from pyecharts.charts import *: 可以使用所有的图表对应的函数;
- 使用 options 配置项,在 pyecharts 中,一切皆 Options,进行参数设置;
总体说明一下:
- .render_notebook ()随时随地渲染图表;
- .render() 这个不会直接产生图表,而是形成一个render.html的文件,可在浏览器中打开查看图表;
2.1、scatter()
这里我们绘制一个正余弦的散点图
1x = np.linspace(0, 2*np.pi, 100) 2y = np.sin(x) 3y2 = np.cos(x) 4 5# 参数设置 6(Scatter() # 图形种类 7 .add_xaxis(xaxis_data=x) # 设置x轴序列 8 .add_yaxis(series_name='sin', y_axis=y) # 设置y轴序列 9 .add_yaxis(series_name='cos', y_axis=y2, label_opts=opts.LabelOpts(is_show=False)) # is_show = False:表示不显示数值部分 10).render_notebook()
结果如下:

2.2、line()
1from pyecharts.charts import Line 2import pyecharts.options as opts 3 4x = np.linspace(0, 2*np.pi, 100) 5y = np.sin(x) 6 7( 8 Line() 9 .add_xaxis(xaxis_data=x) 10 .add_yaxis(series_name='sin', y_axis=y, label_opts=opts.LabelOpts(is_show=False)) 11 .add_yaxis(series_name='cos', y_axis=np.cos(x), label_opts=opts.LabelOpts(is_show=False)) 12 .set_global_opts(title_opts=opts.TitleOpts(title='曲线'), 13 tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross') 14 ) 15).render_notebook()
结果如下所示:

2.3、Bar()
柱状图的绘制:
1from pyecharts.charts import Bar 2 3bar = ( 4 Bar() 5 .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) 6 .add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) 7) 8bar.render_notebook()
结果如下:

当然,这里只是最基本的柱图使用;我们还可以绘制混合柱图;
1from pyecharts.charts import Bar 2import pyecharts.options as opts 3 4num = [110, 136, 108, 48, 111, 112, 103] 5num2 = [90, 110, 101, 70, 90, 120, 99] 6lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基'] 7 8( 9 Bar(init_opts=opts.InitOpts(width='720px', height='320px')) 10 .add_xaxis(xaxis_data=lab) 11 .add_yaxis(series_name='商家A', yaxis_data=num) 12 .add_yaxis(series_name='商家B', yaxis_data=num2) 13 .set_global_opts( 14 title_opts=opts.TitleOpts(title='各商家拥有犬类数量情况', subtitle='如有雷同,纯属意外') 15 ) 16).render_notebook()
结果如下所示:

2.4、Pie()
普通饼图:
1from pyecharts.charts import Pie 2import pyecharts.options as opts 3 4num = [110, 136, 108, 48, 111, 112, 103] 5lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基'] 6 7( 8 Pie(init_opts=opts.InitOpts(width='720px', height='320px')) 9 .add(series_name='', 10 data_pair=[(j, i) for i, j in zip(num, lab)] 11 ) 12).render_notebook()
结果如下:

环状饼图:
1from pyecharts.charts import Pie 2import pyecharts.options as opts 3 4num = [110, 136, 108, 48, 111, 112, 103] 5lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基'] 6 7( 8 Pie(init_opts=opts.InitOpts(width='720px', height='320px')) 9 .add(series_name='', 10 radius=['40%', '75%'], 11 data_pair=[(j, i) for i, j in zip(num, lab)] 12 ) 13).render_notebook()
如图所示:

玫瑰饼图:
1from pyecharts.charts import Pie 2import pyecharts.options as opts 3 4num = [110, 136, 108, 48, 111, 112, 103] 5lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基'] 6 7( 8 Pie(init_opts=opts.InitOpts(width='720px', height='320px')) 9 .add(series_name='', 10# radius=['40%', '75%'], 11# center=['25%', '50%'], 12 rosetype='radius', 13 data_pair=[(j, i) for i, j in zip(num, lab)] 14 ) 15).render_notebook()
如图所示:
[图片上传失败...(image-6a148-1646274550486)]
2.5、图表的组合使用
1from pyecharts.charts import Bar, Line 2 3num = [110, 136, 108, 48, 111, 112, 103] 4lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基'] 5 6bar = ( 7 Bar(init_opts=opts.InitOpts(width='720px', height='320px')) 8 .add_xaxis(xaxis_data=lab) 9 .add_yaxis(series_name='', yaxis_data=num) 10) 11 12lines = ( 13 Line() 14 .add_xaxis(xaxis_data=lab) 15 .add_yaxis(series_name='', y_axis=num, label_opts=opts.LabelOpts(is_show=False)) 16) 17 18bar.overlap(lines).render_notebook()
如图所示:

三、总结
Pyecharts可以绘制各种各样的图表,主流的一个数据可视化的库,因为相对于matplotlib,seaborn等数据可视化库,它的交互性比较好,图形绘制的比较清晰美观,所以应用的比较广泛,本文主要就普通常用图形做了简单的总结,当然它还可以绘制地理图形,具体参见官网相关API。
