数据可视化基础专题(十四):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')

 

posted @ 2020-04-20 09:26  秋华  阅读(1064)  评论(0编辑  收藏  举报