zoukankan      html  css  js  c++  java
  • 数据可视化基础专题(十四):pyecharts 基础(一)简单上手

    1.引言

    文档位于 https://pyecharts.org/#/zh-cn/intro

    示例位于 https://gallery.pyecharts.org/#/README

    echarts

    官网 https://www.echartsjs.com/zh/index.html

    2.安装

    pip(3) install pyecharts

    3 快速开始

    3.1 简单实例

    from pyecharts.charts import Bar
    
    bar = Bar()
    bar.add_xaxis([2011,2012,2013,2014,2015,2016,2017])
    bar.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
    
    bar.render()

    调用 render() 方法的时候会在本地生成一个 HTML 文件,默认会在当前目录生成 render.html 文件,同时也可以传入路径的参数,如 bar.render("mycharts.html") ,拿着这个 HTML 文件直接扔到浏览器中运行就能看到我们刚才创建的柱状图了。

     3.2 链式调用

    pyecharts 的方法都支持链式调用,就是上面这一段我们可以换成链式调用的写法,如下:

    from pyecharts.charts import Bar
    
    bar = (
        Bar()
        .add_xaxis([2011,2012,2013,2014,2015,2016,2017])
        .add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
    )
    
    bar.render()

    链式调用的除了写法和前面的不同,作用完全相同,各位同学选择自己习惯的写法就行。

    3.3 配置

    在使用 pyecharts 的时候,大量的配置是使用 options 完成的,下面看一个使用 options 进行主标题和副标题配置的小示例:

    from pyecharts.charts import Bar
    from pyecharts import options as opts
    
    bar = (
        Bar()
        .add_xaxis([2011,2012,2013,2014,2015,2016,2017])
        .add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
        .set_global_opts(title_opts=opts.TitleOpts(title="11 ~ 17年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
    )
    bar.render('render_1.html')
    
    # 调用方法写法,与上面的链式调用无任何区别
    bar = Bar()
    bar.add_xaxis([2011,2012,2013,2014,2015,2016,2017])
    bar.add_yaxis("产品销量", [58000,60200,63000,71000,84000,90500,107000])
    bar.set_global_opts(title_opts=opts.TitleOpts(title="11 ~ 17年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
    bar.render('render_1.html')

     如果想要将结果保存成图片,需要使用 snapshot-selenium 将结果渲染成图片,如果没有安装的话需要先安装,安装命令如下:

    pip install snapshot_selenium

    这里有一点需要注意,如果想要正常的使用 snapshot_selenium ,需要本地有和当前 Chrome 正常配套的 ChromeDriver ,如果没有,需要先安装。

    3.4 一个示例:

    from pyecharts.charts import Bar
    from pyecharts.render import make_snapshot
    from snapshot_selenium import snapshot
    
    bar = (
        Bar()
            .add_xaxis([2011, 2012, 2013, 2014, 2015, 2016, 2017])
            .add_yaxis("产品销量", [58000, 60200, 63000, 71000, 84000, 90500, 107000])
            .set_global_opts(title_opts=opts.TitleOpts(title="11 ~ 17年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
    )
    make_snapshot(snapshot, bar.render(), "bar_1.png")

    这时,在同目录下生成了一个名称为 bar_1.png 的图片,就不贴出来了,和上面的图片是一样的,只是这张 png 图片是透明底的。

    同时,pyecharts 还提供了 10+ 种内置主题,如果有需要也可以自己定制自己喜欢的主题,示例如下:

    from pyecharts.charts import Bar
    from pyecharts.globals import ThemeType
    
    bar = (
        Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
            .add_xaxis([2011, 2012, 2013, 2014, 2015, 2016, 2017])
            .add_yaxis("产品A", [58000, 60200, 63000, 71000, 84000, 90500, 107000])
            .add_yaxis("产品B", [78000,80200,93000,101000,64000,70500,87000])
            .set_global_opts(title_opts=opts.TitleOpts(title="11 ~ 17年 xxx 公司 xx 产品销量图", subtitle="这里是副标题"))
    )
    
    bar.render('render_2.html')

  • 相关阅读:
    Poj 3177 Redundant Paths (双连通分支+节点统计)
    Uva 796 Critical Links (割边+排序)
    Lightoj 1020
    Flip Game---poj1753(状压+bfs)
    Best Cow Line---poj3617(贪心)
    滑雪---poj1088(动态规划+记忆化搜索)
    King's Quest---poj1904(连通图缩点)
    Steady Cow Assignment---poj3189(多重匹配+二分)
    B. Berland National Library---cf567B(set|模拟)
    HDU Today---hdu2112(最短路-_-坑在是无向图)
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12735905.html
Copyright © 2011-2022 走看看