Echarts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
特性
- 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
- 囊括了 30+ 种常见图表,应有尽有
- 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
- 可轻松集成至 Flask,Django 等主流 Web 框架
- 高度灵活的配置项,可轻松搭配出精美的图表
- 详细的文档和示例,帮助开发者更快的上手项目
- 多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持
如何安装
pip 安装
$ pip(3) install pyecharts
/01/体验图表
# 导入包
from pyecharts.charts import Bar
bar = Bar()
# 设置x轴
bar.add_xaxis(["甲", "乙", "丙", "丁", "戊", "己"])
# 设置y轴,y的值为:5, 20, 36, 10, 75, 90
bar.add_yaxis("老人家", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render()
pyecharts 所有方法均支持链式调用。
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis(["甲", "乙", "丙", "丁", "戊", "己"])
.add_yaxis("latex人家", [5, 20, 36, 10, 75, 90])
)
bar.render()
使用 options 配置项,在 pyecharts 中,一切皆 Options。
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
# 你所看到的格式其实是 `black` 格式化以后的效果
# 可以执行 `pip install black` 下载使用
bar = (
Bar()
.add_xaxis(["甲", "乙", "丙", "丁", "戊", "己"])
.add_yaxis("老人家", [5, 20, 36, 10, 75, 90])
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
# 或者直接使用字典参数
# .set_global_opts(title_opts= {"text": "主标题", "subtext": "副标题"})
)
bar.render()
# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["甲", "乙", "丙", "丁", "戊", "己"])
bar.add_yaxis("老人家", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
bar.render()
pyecharts 提供了 10+ 种内置主题,开发者也可以定制自己喜欢的主题
from pyecharts.charts import Bar
# 使用 options 配置项,在 pyecharts 中,一切皆 Options
from pyecharts import options as opts
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) # opts.InitOpts(theme标图主题=ThemeType.LIGHT)
.add_xaxis(["甲", "乙", "丙", "丁", "戊", "己"])
.add_yaxis("老人家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("老人家B", [15, 6, 45, 20, 35, 66])
# 全局配置项可通过 set_global_opts 方法设置
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题")) # subtitle副标题文本,支持使用 \n 换行
)