pyecharts使用 Python 生成 Echarts 图表的类库
pyecharts 是一个用于生成 ECharts 图表的类库。实际上就是 ECharts 与 Python 的对接。
ECharts 是百度开源的一个数据可视化 JS 库。看了官方的介绍文档,觉得很不错,就想看看有没有人实现了 Python 库可以直接调用的。GitHub 上找到了一个 echarts-python,不过这个项目已经很久没更新且也没什么介绍文档。借鉴了该项目,就自己动手实现一个,于是就有了 pyecharts。API 接口是从另外一个图表库 pygal 中模仿的。——@dongdong
特性
- 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
- 囊括了 30+ 种常见图表,应有尽有
- 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
- 可轻松集成至 Flask,Sanic,Django 等主流 Web 框架
- 高度灵活的配置项,可轻松搭配出精美的图表
- 详细的文档和示例,帮助开发者更快的上手项目
- 多达 400+ 地图文件,并且支持原生百度地图,为地理数据可视化提供强有力的支持
使用
本地环境
生成 HTML
from pyecharts.charts import Bar from pyecharts import options as opts # V1 版本开始支持链式调用 bar = ( Bar() .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]) .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况")) ) bar.render() # 不习惯链式调用的开发者依旧可以单独调用方法 bar = Bar() bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]) bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况")) bar.render()
生成图片
from snapshot_selenium import snapshot as driver from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.render import make_snapshot def bar_chart() -> Bar: c = ( Bar() .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"]) .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) .reversal_axis() .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片")) ) return c # 需要安装 snapshot-selenium 或者 snapshot-phantomjs make_snapshot(driver, bar_chart().render(), "bar.png")
评论