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

课程简介

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

欢迎来到《ECharts 数据可视化:从交互图表到数据大屏》的第一章。本节课程将为你揭开数据可视化的面纱,阐述本课程的核心目标与学习路径。学完本节,你将理解数据可视化的价值与趋势,并明确为何选择 ECharts 作为我们实现 Web 交互式图表与数据大屏的核心工具。

💡 核心导读

  • 数据可视化是什么:一种将复杂数据转化为直观图形,以传达见解、发现规律的技术。
  • 为什么需要可视化:超越枯燥的表格,通过图形(如折线图、地图)更高效地探索数据关系与趋势。
  • 可视化的现代趋势:从静态图表走向交互式、叙事化、多维度的数据表达。
  • 为什么选择 ECharts:它是一个功能强大、开源且能完美契合上述趋势的 Web 可视化库。
  • 课程全景预览:我们将系统学习 ECharts,从基础图表到复杂大屏,最终完成一个综合项目。

一、什么是数据可视化?

数据可视化,简单来说,是一种通过图形、图像等视觉表示来传达数据见解的技术。数据本身往往是抽象和乏味的,其内在规律难以被直接感知。可视化的目的,正是将大型数据集提炼成可视化的图形,帮助我们轻松理解数据中复杂的关联与模式。

你可以将数据可视化想象成一座桥梁:它连接了原始、复杂的数据世界与人类直观、高效的认知世界。

让我们通过一个实例来感受可视化的力量。假设我们有一份记录两种商品(夹克和袜子)在12个月内的营业额表格。仅从数字表格中,我们很难迅速把握其销售规律。

import pandas as pd

# 模拟销售数据表格
data = {
    '月份': ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
    'Jacket': [180, 165, 120, 85, 60, 45, 40, 50, 90, 130, 160, 175],
    'Socks': [95, 98, 100, 102, 101, 99, 97, 96, 98, 100, 103, 105]
}
df = pd.DataFrame(data)
print("销售数据表格预览:")
print(df[['月份', 'Jacket', 'Socks']].head(4))
print("…(共12行,已截断)")
销售数据表格预览:
   月份  Jacket  Socks
0  1月     180     95
1  2月     165     98
2  3月     120    100
3  4月      85    102
…(共12行,已截断)

现在,我们将其转化为折线图。折线图擅长展示数据随时间变化的趋势。

from pyecharts.charts import Line
from pyecharts import options as opts

months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
jacket_sales = [180, 165, 120, 85, 60, 45, 40, 50, 90, 130, 160, 175]
socks_sales = [95, 98, 100, 102, 101, 99, 97, 96, 98, 100, 103, 105]

# 创建折线图
line = (
    Line()
    .add_xaxis(months)
    .add_yaxis("Jacket", jacket_sales, is_smooth=True)
    .add_yaxis("Socks", socks_sales, is_smooth=True)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="商品月度销售额趋势"),
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        yaxis_opts=opts.AxisOpts(name="销售额"),
        xaxis_opts=opts.AxisOpts(name="月份", boundary_gap=False)
    )
)

# 打印稳定的图表摘要
print("图表类型:", type(line).__name__)
print("数据系列数量:", 2)
夹克与袜子两条月度销售额折线图,横轴为1月到12月
图:折线图实际渲染:Jacket 秋冬走高、夏季下探,Socks 全年几乎持平,季节性差异一眼可见。手机端可左右滑动查看,点击图片可看全图。
图表类型: Line
数据系列数量: 2

通过上方的折线图(代码生成其配置摘要),规律一目了然:

  • 袜子 (Socks) 的销量全年相对稳定,这与生活常识相符。
  • 夹克 (Jacket) 的销量呈现明显的季节性波动:在气温较低的秋冬季(9月至次年2月)销量走高,而在夏季则显著下降。这解释了为何商家会在夏季进行“反季促销”。

这个简单的例子充分说明,可视化能以更直接、更高效的方式帮助我们探索数据、归纳规律。

二、数据可视化的多样性与趋势

可视化的形式远不止折线图。它是一个庞大的家族,不同图表类型擅长表达不同的数据关系。

  • 地图可视化:将数据点与地理信息结合,通过点的大小、颜色深浅直观展示不同区域的指标差异(如各地销售额、疫情分布)。这在当今已是十分常见且强大的分析工具。
  • 金融K线图(蜡烛图):用一个“蜡烛”形状的柱子,同时展示某一时间段内的开盘价、收盘价、最高价和最低价,是金融投资领域的标准可视化语言。

这些多样化的图形共同指向了数据可视化领域的几个重要发展趋势:

  1. 通过可视化传递故事:现代可视化不仅仅是呈现单个图表,而是将一系列图表按逻辑顺序组织,构建数据叙事,引导观众理解业务全貌并做出决策。
  2. 工具平民化:可视化工具不再只是数据科学家和分析师的专属。只要具备基础的编程知识,更多人能够利用像 ECharts 这样的工具进行有效的数据表达。
  3. 多维度数据可视化:现实数据往往包含多个维度(如时间、地区、产品类别、用户属性等)。未来的挑战在于如何设计出能够清晰呈现高维复杂数据的可视化方案。
  4. 交互式数据可视化:静态图表(如传统 Excel 图表)的信息承载量有限。交互式图表允许用户通过鼠标悬停、点击、缩放、筛选等操作,主动探索数据,获取更精确、更个性化的信息。

三、为什么选择 ECharts?

基于上述发展趋势,我们选择了 ECharts 作为本课程的核心教学工具。ECharts 是一个由百度开源、基于 JavaScript 的数据可视化图表库,而我们将通过其 Python 接口库 pyecharts 来调用它。

ECharts 的优势恰好回应了现代可视化的需求:

  • 功能全面:提供超过 20 种常规图表和十几种高级图表(如地理坐标系、3D、关系图),覆盖绝大多数可视化场景。
  • 交互体验优秀:原生支持丰富的交互组件,如数据区域缩放、图例开关、动态数据筛选等。
  • 配置灵活:通过清晰的配置项,可以精细控制图表的每一个视觉元素。
  • 社区活跃:拥有庞大的用户群体和丰富的示例,遇到问题容易找到解决方案。

本课程将系统性地讲解如何利用 pyecharts(版本 2.1.0,对应 ECharts 6 资源)来实现各类 Web 图表与数据大屏。

四、课程目标与安排

通过本课程的学习,你将获得以下核心能力:

  1. 掌握 ECharts(pyecharts)的工作原理与使用方法。
  2. 能够使用 ECharts 对实际业务数据进行可视化呈现。
  3. 能够制作复杂的交互式仪表盘(Dashboard)或数据大屏。
  4. 针对不同类型的分析任务,能够选择最合适的可视化方法。这是本课程设计的重点,我们将图表按分析目标(如对比、趋势、分布、关系等)进行分类学习,帮你建立清晰的“图表选择路径”。
  5. 了解常用的 Python 数据可视化工具生态。

课程共分为 12 章,结构如下:

  • 第 1-3 章:基础入门(简介、环境、ECharts 初体验)。
  • 第 4-11 章:核心图表精讲。我们按分析目标将图表归类学习,例如“项目对比”、“时间趋势”、“数据关系”、“空间数据”等,帮你建立系统的可视化思维。
  • 第 12 章:综合实战。运用所学知识,完成一个“电商用户行为数据可视化”大屏项目。

📝 动手练一练

  1. 思考题:除了文中提到的折线图、地图、K线图,你还见过哪些让你印象深刻的数据可视化案例?它主要展示了什么类型的数据关系(例如:比较、构成、分布、关联)?
点击查看参考答案

可能的答案包括但不限于:

  • 桑基图:展示流量或资源的转移、分配过程(如能源流向、用户转化路径)。展示了流程与关系。
  • 热力图:用颜色深浅表示矩阵中数值的大小(如网页点击热区、不同时段客流量)。展示了密度与分布。
  • 词云图:通过词汇大小展示文本中关键词的频率。展示了文本数据的构成与重点。
  • 旭日图:展示层级数据的构成与占比,可以层层下钻。展示了层级与构成。
  1. 实践题:尝试运行本节第二个 Python 代码块(生成折线图摘要的代码)。观察输出结果,理解 pyecharts 创建图表的基本流程:初始化图表对象 -> 添加数据系列 -> 设置全局选项。

本章小结

本节我们建立了对数据可视化的基本认知,明确了本课程的学习路径与最终目标。数据可视化是连接数据与决策的关键技能,而 ECharts 是我们掌握这项技能的利器。

📋 行动清单

  • 理解数据可视化的核心价值:将复杂数据转化为直观见解。
  • 了解现代数据可视化向交互式、叙事化、多维度发展的趋势。
  • 明确本课程将围绕 ECharts (pyecharts) 展开,并最终完成一个数据大屏综合项目。

—— 小象教研组

配套资料 · 直接下载

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

  • 01_课程简介及环境搭建.ipynb · ECharts 课程配套资源
    IPYNB · 章级代码与输出
    下载
  • 课程中所有代码.zip · ECharts 课程配套资源
    课程配套文件
    下载