# yyds干货盘点 # Pyecharts绘图API总结
source link: https://blog.51cto.com/u_13389043/5067070
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
一、初识Pyecharts
pyecharts简介
pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
Pyecharts官网
https://pyecharts.org/#/zh-cn/intro
pyecharts安装
二、Pyecharts可视化
使用pyecharts可以绘制如下图表:
Scatter
Funnel
Gauge
Graph
折线/面积图
Liquid
Radar
Parallel
平行坐标系
Sankey
Polar
WordCloud
HeatMap
这里我们简介一下常用的图表的API:
2.0、初始化设置
导入相关库:
import pyecharts.options as opts
- from pyecharts.charts import *: 可以使用所有的图表对应的函数;
- 使用 options 配置项,在 pyecharts 中,一切皆 Options,进行参数设置;
总体说明一下:
- .render_notebook ()随时随地渲染图表;
- .render() 这个不会直接产生图表,而是形成一个render.html的文件,可在浏览器中打开查看图表;
2.1、scatter()
这里我们绘制一个正余弦的散点图
y = np.sin(x)
y2 = np.cos(x)
# 参数设置
(Scatter() # 图形种类
.add_xaxis(xaxis_data=x) # 设置x轴序列
.add_yaxis(series_name='sin', y_axis=y) # 设置y轴序列
.add_yaxis(series_name='cos', y_axis=y2, label_opts=opts.LabelOpts(is_show=False)) # is_show = False:表示不显示数值部分
).render_notebook()
结果如下:
2.2、line()
import pyecharts.options as opts
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
(
Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name='sin', y_axis=y, label_opts=opts.LabelOpts(is_show=False))
.add_yaxis(series_name='cos', y_axis=np.cos(x), label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='曲线'),
tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross')
)
).render_notebook()
结果如下所示:
2.3、Bar()
柱状图的绘制:
bar = (
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render_notebook()
结果如下:
当然,这里只是最基本的柱图使用;我们还可以绘制混合柱图;
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
num2 = [90, 110, 101, 70, 90, 120, 99]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='商家A', yaxis_data=num)
.add_yaxis(series_name='商家B', yaxis_data=num2)
.set_global_opts(
title_opts=opts.TitleOpts(title='各商家拥有犬类数量情况', subtitle='如有雷同,纯属意外')
)
).render_notebook()
结果如下所示:
2.4、Pie()
普通饼图:
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
结果如下:
环状饼图:
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
radius=['40%', '75%'],
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
如图所示:
玫瑰饼图:
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
# radius=['40%', '75%'],
# center=['25%', '50%'],
rosetype='radius',
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
如图所示:
2.5、图表的组合使用
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
bar = (
Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='', yaxis_data=num)
)
lines = (
Line()
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='', y_axis=num, label_opts=opts.LabelOpts(is_show=False))
)
bar.overlap(lines).render_notebook()
如图所示:
Pyecharts可以绘制各种各样的图表,主流的一个数据可视化的库,因为相对于matplotlib,seaborn等数据可视化库,它的交互性比较好,图形绘制的比较清晰美观,所以应用的比较广泛,本文主要就普通常用图形做了简单的总结,当然它还可以绘制地理图形,具体参见官网相关API。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK