pyecharts:Python 数据可视化的瑞士军刀
pyecharts:Python 数据可视化的瑞士军刀
pyecharts 在 GitHub 上已经拿到 15,763 Star 了。
这个项目由几位中国开发者维护,把百度开源的 ECharts 搬进了 Python 生态。一句话概括:用 Python 语法写 ECharts 图表,效果和 Web 端原生渲染一样好。项目经历了 v0.5、V1、V2 三个大版本迭代,目前基于 ECharts 5.4.1 渲染,Python 3.7 以上都能跑。
1、 这玩意儿是干嘛的
就一件事:让 Python 开发者用最顺手的语法,画出 ECharts 级别的交互式图表。
折线、柱状、饼图、散点、热力、K 线、漏斗、仪表盘、词云、桑基图……30 多种图表类型全支持。3D 图表也没落下,柱状 3D、散点 3D、曲面 3D 都有。地理可视化这块更猛,内置 400 多份地图文件,支持原生百度地图,做中国地图类的数据大屏很顺手。

2、 为什么要用它
写过 matplotlib 的人都懂,调样式能调到怀疑人生。seaborn 好一些,但交互性还是差一截。Plotly 交互不错,语法又偏重。
pyecharts 的核心优势在两点。一是 API 设计干净,链式调用风格,几行代码出一张图。二是生成的是 ECharts 原生 HTML,缩放、hover 弹窗、图例切换、tooltip 这些交互能力天然自带,不需要额外配置。
Notebook 环境里直接渲染,不用单独开浏览器。Jupyter Notebook、JupyterLab、marimo 都能内嵌显示。要集成到 Web 框架也容易,Flask、Django、Sanic 随便接。还能通过 snapshot 插件把图表导出为 PNG 图片,写报告的时候直接贴。
3、 怎么用
安装一行:
pip install pyecharts -U
画个柱状图,六行代码:
from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (
Bar()
.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣"])
.add_yaxis("商家A", [114, 55, 27, 101, 125])
.set_global_opts(title_opts=opts.TitleOpts(title="销售情况"))
)
bar.render()
render() 生成一个 HTML 文件,浏览器打开就是带交互的图表。配置项通过 options 模块统一管理,标题、图例、坐标轴、标签、颜色主题,全部可以细粒度控制。官方还维护了一个 gallery 站点,几百个示例代码直接复制就能用。
4、 适合哪些人用
- 做数据分析、需要频繁出图表的 Python 开发者
- 在 Jupyter 里做探索性分析、想看到交互式结果的人
- 做 BI 或数据平台、需要把 ECharts 集成到 Python 后端的团队
- 有地理数据可视化需求的场景,pyecharts 的地图能力覆盖很全面
- 写周报月报需要配图的分析师,导出 PNG 直接贴进文档


浙公网安备 33010602011771号