查看全课大纲(第 10 / 45 节)

pyecharts简介

小象实战讲义 · ECharts 数据可视化

从本章开始,我们将正式进入 pyecharts 的世界。作为一名已经掌握 Python 和 pandas 数据分析的学习者,你可能已经厌倦了静态的分析图表,渴望将分析结果转化为可在网页上交互、分享甚至整合进数据大屏的动态可视化作品。本节作为 pyecharts 学习的起点,将为你系统介绍这个强大的 Python 可视化库的核心特性、优势以及学习资源,帮助你建立清晰的认知地图,为后续的实战打下坚实基础。

💡 核心导读

  • 核心定位:pyecharts 是一个将 ECharts 的强大图表能力引入 Python 环境的库,让你能用 Python 语法生成交互式 Web 图表。
  • 核心优势:它拥有简洁流畅的 API、丰富的图表类型、与 Web 框架和 Notebook 的无缝集成,以及灵活的自定义能力。
  • 学习路径:掌握 pyecharts 的关键在于理解其官方文档、示例项目和源代码的组织结构,它们是最高效的学习资料。

一、什么是 pyecharts?

ECharts 是一个由百度前端团队开源,基于 JavaScript 的、功能强大的数据可视化图表库,在 Web 开发领域被广泛应用。而 pyecharts 则是一个用于生成 ECharts 图表的 Python 库。

简单来说,pyecharts 充当了“翻译官”的角色。它允许我们使用熟悉的 Python 代码来定义图表的数据、样式和交互逻辑,然后将其“翻译”成 ECharts 能够理解的 JavaScript/HTML 代码。最终,这些代码可以在任何支持 JavaScript 的现代浏览器中渲染出精美的交互式图表。

这意味着,即使你不精通前端开发(HTML/CSS/JavaScript),也能利用 Python 的数据处理能力(如 pandas, NumPy)和 pyecharts 的封装,轻松创建出专业级的 Web 数据可视化作品。

二、为什么选择 pyecharts?

pyecharts 之所以成为从数据分析迈向 Web 可视化的理想桥梁,得益于其一系列突出的特性:

  1. 简洁流畅的 API 设计:pyecharts 采用了链式调用(Method Chaining)的 API 风格。这种设计让代码读起来像一句流畅的句子,逻辑清晰,编写高效。
# 链式调用示例:创建柱状图
from pyecharts.charts import Bar

x_data = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
bar = (
    Bar()
    .add_xaxis(x_data)
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    .set_global_opts(title_opts={"text": "销售情况"})
)
# 此时 bar 对象包含了完整的图表配置
print(f"图表类型: {type(bar).__name__}")
print(f"X轴数据长度: {len(x_data)}")
图表类型: Bar
X轴数据长度: 6
六个商品类目的商家A销量基础柱状图
图:链式调用生成的基础柱状图:一行行链式配置最终画出的完整画布。手机端可左右滑动查看,点击图片可看全图。
  1. 丰富的图表类型:pyecharts 2.1.0 版本封装了 ECharts 6 的图表资源,提供了超过 30 种常见的图表类型,从基础的柱状图、折线图、饼图,到高级的关系图、热力图、地图、3D 图表等,几乎涵盖了数据可视化的所有场景。

  2. 完美的环境兼容:

    • Notebook 环境:在 Jupyter Notebook 或 JupyterLab 中,图表可以直接内嵌显示,方便进行数据探索和即时演示。
    • Web 框架集成:生成的图表可以轻松集成到 Flask、Django、Sanic 等主流 Python Web 框架中,作为网页的一部分动态呈现,这是构建数据大屏和仪表盘的关键能力。
  3. 高度灵活的配置项:ECharts 本身提供了极其详尽的配置选项来控制图表的每一个细节。pyecharts 通过 opts 模块(如 TitleOpts, LegendOpts)将这些选项完美暴露出来,让你既能快速出图,也能深度定制出独一无二的精美图表。

  4. 强大的地理数据可视化支持:pyecharts 内置了国家、地区的名称映射和城市坐标数据,但地图边界 JS 文件需要单独注册。本课统一使用本地 assets/maps/ 资源注册地图,再提供标准地名(如“广东省”、“北京市”)即可完成地理坐标映射。

  5. 完善的文档与社区:拥有详尽的中文文档、丰富的官方示例项目以及活跃的 GitHub 社区。当遇到问题时,这些资源能提供最直接的帮助。

三、关键学习资源导航

“工欲善其事,必先利其器。” 高效学习 pyecharts,必须熟悉以下三个核心资源:

  1. GitHub 源码仓库

    • 地址:https://github.com/pyecharts/pyecharts
    • 作用:这里是 pyecharts 项目的心脏。你可以查看最新的源代码、提交历史、Issues 和 Pull Requests。当官方文档描述不够详细,或你想深入了解某个图表类是如何实现时,查阅源码是最直接的方式。例如,所有基础图表类(Bar, Line, Pie)的代码都位于 pyecharts/charts/basic_charts/ 目录下。
  2. 官方文档

    • 地址:https://pyecharts.org
    • 作用:这是最权威的使用指南。文档结构清晰,包含:
      • 快速上手:教你如何安装和创建一个最简单的图表。
      • 配置项:详细解释了全局配置项 (set_global_opts) 和系列配置项 (set_series_opts) 中每个参数的含义。
      • 图表 API:列出了每个图表类(如 Bar, Line)所有可用的方法。
      • 进阶主题:如自定义主题、注册地图、与 Web 框架集成等高级用法。
    • 学习建议:在动手编码前,先浏览相关图表的文档页,了解其核心 API 和常用配置。
  3. 示例项目画廊

    • 地址:https://github.com/pyecharts/pyecharts-gallery
    • 作用:这里汇集了大量可直接运行的代码示例,覆盖了几乎所有图表类型和复杂场景(如组合图表、动态数据更新、自定义样式等)。当你想实现某个特定效果但不知从何下手时,来这里搜索类似的例子是最快的学习路径。
    pyecharts-gallery/
    ├── bar/          # 各种柱状图示例
    ├── line/         # 各种折线图示例
    ├── map/          # 各种地图示例
    ├── ...           # 其他图表类型
    └── composite/    # 组合图表示例

📝 动手练一练

  1. 环境验证:请在您的 Python 3.12.10 环境中,安装 pyecharts==2.1.0 和 pandas==3.1.1,并运行以下代码,确认环境配置成功,并观察输出。
    import pyecharts
    import pandas as pd
    print(f"pyecharts 版本: {pyecharts.__version__}")
    print(f"pandas 版本: {pd.__version__}")

```text
pyecharts 版本: 2.1.0
pandas 版本: 3.1.1
点击查看参考答案
import pyecharts
import pandas as pd
print(f"pyecharts 版本: {pyecharts.__version__}")
print(f"pandas 版本: {pd.__version__}")

预期输出(版本号应完全一致):

pyecharts 版本: 2.1.0
pandas 版本: 3.1.1
  1. 资源探索:访问 pyecharts 官方文档,在“图表 API”部分找到 Bar(柱状图)的说明页。请记录下 Bar.add_yaxis() 方法中,用于设置系列名称和数据的两参数分别是什么?
点击查看参考答案

根据 pyecharts 2.1.0 文档,Bar.add_yaxis() 方法的基本签名是: add_yaxis(series_name, y_axis, ...)

  • 第一个参数 series_name:字符串类型,用于设置数据系列的名称,会显示在图例中。
  • 第二个参数 y_axis:序列类型,包含该系列对应的 Y 轴数据值。

本章小结

本节我们揭开了 pyecharts 的神秘面纱。你了解了它作为连接 Python 数据分析与 ECharts 交互式 Web 图表的桥梁定位,掌握了其六大核心优势,并熟悉了通往精通之路的三个关键资源:GitHub 源码、官方文档和示例画廊。

📋 行动清单

  • 配置环境:在本地或云端环境中,确保已安装 Python 3.12.10, pyecharts==2.1.0, pandas==3.1.1。
  • 浏览文档:花 10 分钟快速浏览 pyecharts.org 的首页和“快速上手”部分,对文档结构形成初步印象。
  • 运行验证:完成上面的“动手练一练”,确保你的环境可以正确运行 pyecharts 相关代码。

准备好环境,熟悉了“地图”,下一节我们将真正开始动手,绘制出你的第一个 pyecharts 交互图表。

—— 小象教研组

配套资料 · 直接下载

课件、代码、数据集等配套资料全部免费,点击即可直接下载,无需分享或解锁。

  • 03_pyecharts基本使用.ipynb · ECharts 课程配套资源
    IPYNB · 章级代码与输出
    下载