继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Pyecharts绘图API总结

慕先生0340613
关注TA
已关注
手记 483
粉丝 23
获赞 120

一、初识Pyecharts

大家好,我是Python进阶者。

pyecharts简介

pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

Pyecharts官网

pyecharts安装

pip install pyecharts

二、Pyecharts可视化

使用pyecharts可以绘制如下图表:

这里我们简介一下常用的图表的API:

2.0、初始化设置

导入相关库:

from pyecharts.charts import *
import pyecharts.options as opts
  • from pyecharts.charts import *: 可以使用所有的图表对应的函数;
  • 使用 options 配置项,在 pyecharts 中,一切皆 Options,进行参数设置;

总体说明一下:

  1. .render_notebook ()随时随地渲染图表;
  2. .render() 这个不会直接产生图表,而是形成一个render.html的文件,可在浏览器中打开查看图表;

2.1、scatter()

这里我们绘制一个正余弦的散点图

x = np.linspace(0, 2*np.pi, 100)
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()

from pyecharts.charts import 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()

柱状图的绘制:

from pyecharts.charts import Bar

bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render_notebook()

结果如下:

当然,这里只是最基本的柱图使用;我们还可以绘制混合柱图;

from pyecharts.charts import Bar
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()

普通饼图:

from pyecharts.charts import 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()

结果如下:

环状饼图:

from pyecharts.charts import 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='', 
         radius=['40%', '75%'],
         data_pair=[(j, i) for i, j in zip(num, lab)]
        )
).render_notebook()

如图所示:

玫瑰饼图:

from pyecharts.charts import 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='', 
#          radius=['40%', '75%'],
#          center=['25%', '50%'],
         rosetype='radius',
         data_pair=[(j, i) for i, j in zip(num, lab)]
        )
).render_notebook()

如图所示:

[图片上传失败…(image-6a148-1646274550486)]

2.5、图表的组合使用

from pyecharts.charts import Bar, Line

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。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP