• Pyecharts绘图API总结


    一、初识Pyecharts

    大家好,我是Python进阶者。

    pyecharts简介

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

    Pyecharts官网

    https://pyecharts.org/#/zh-cn/intro

    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。

  • 相关阅读:
    jqgrid 获取选中用户的数据插入
    jqgrid 自定义文本框、选择框等查询
    Java学习—— for循环
    Android中 Http请求
    异步消息处理机制——Handler用法
    ThreadLocal
    Android开发 学习笔记——HelloWorld
    eclipse 常用插件
    mysql 命令备份还原
    学习
  • 原文地址:https://www.cnblogs.com/dcpeng/p/15958727.html
Copyright © 2020-2023  润新知