学径XUEJING · 个人学习平台通知设置

课程库 AI 主线 数据可视化 › 第 1

图表选择的思维 —— 什么数据配什么图

普通课50 分钟

本课导读

上单元你算出了各城市销售额,但把那张表拍给老板,多半换来一句"所以呢?"——数字要变成图,结论才会自己开口。画图的第一功不是代码,是选型:什么问题配什么图。本课建立五问五图的决策直觉,配上每种图的"一眼识别 + 常见误用"。学会选型,后面三课的代码只是执行。预计 50 分钟。

说明

本单元的代码块运行后会自动把图表显示在输出区下方——不需要写 plt.show()。首次运行要多等一会儿(加载绘图包和中文字体),之后流畅。

一图胜千言的前提:问对问题

图表不是装饰,是回答问题的工具。画图前先说清你要回答哪类问题:

你的问题图型一句话识别
随时间怎么折线图点连成线,横轴是时间
谁多谁少?(类别比较柱状图一根根柱子比高矮
各占多大份?(占比)饼图一块饼切几牙
数值怎么分布直方图连续区间上的"柱子墙"
两个量有没有关系散点图一片点的云

口诀:变化折线、比较柱状、占比饼图、分布直方、关系散点。九成的业务图表逃不出这五种。

五图亲眼过一遍

不求看懂代码(下节课的事),只看图长什么样、回答什么问题

Python
Python
Python
Python
Python

散点图那片点整体右上倾斜——广告费越高订单越多的相关关系肉眼可见。(阶段 3 会正式提醒你:相关不等于因果,广告费和订单可能都被"大促日"推着涨。)

高频误用急诊室

选错图比不画图更糟——它会用视觉撒谎。三个最常见的事故:

  • 饼图塞了十几个类别 → 一堆窄牙谁也看不清。类别超过 5 个换柱状图;只想突出"最大头占几成"时饼图才值回票价
  • 该用折线的用了柱状:30 天的日销量画 30 根柱子,密不透风——时间序列一律折线
  • 柱状图纵轴不从 0 开始:从 90 开始画 95 和 100 两根柱,视觉差出一倍,实际差 5%——比较类图表的纵轴从 0 起,这是诚实问题

提示

类比记忆:图型是问题的翻译腔——听到"趋势/走势/变化"耳朵里响起折线,听到"对比/排名"响起柱状,听到"占比/构成"响起饼图,听到"分布/集中"响起直方,听到"相关/影响"响起散点。练到条件反射,选型就不再是问题。

说明

你可能听过 seaborn、plotly 等更漂亮的绘图库——它们都建在 matplotlib 的地基上。先把地基打牢:概念全部通用,将来换库只是换语法糖。

✍️ 练习

练习 1:口头选型(无代码)

给下面四个需求各选一种图型并说理由:① 近 12 个月的用户增长 ② 五个销售的季度业绩排名 ③ 三千名用户的年龄构成 ④ 房屋面积和售价的关系。

✅ 参考答案

① 折线(时间 + 变化)② 柱状(类别比较,5 个正好)③ 直方图(连续数值的分布——注意不是饼图,年龄是连续量)④ 散点(两个量的关系)。第 ③ 问最容易错:想按年龄段占比也可以先分箱再画柱/饼,但"看分布"的第一反应应该是直方图。

练习 2:找茬(无代码)

同事的周报里有两张图:A. 用饼图展示 12 个省份的销售占比;B. 柱状图对比两款产品销量,纵轴从 850 开始(两根柱子 870 和 890)。各错在哪,怎么改?

✅ 参考答案

A:12 个类别的饼图没法读——改横向柱状图按大小排序,一眼出排名。B:纵轴不从 0 起,2% 的差距被画成了 2 倍——比较类柱状图纵轴从 0 开始;若差异确实小又重要,标注具体数字而不是靠截断轴放大。

练习 3:动手换型(挑战)

下面的代码用柱状图画了 30 天的日活跃数据——正是"该折线却柱状"的事故现场。运行看看它多难读,然后把它改成正确的折线图。

Python
✅ 参考答案
import matplotlib.pyplot as plt

days = list(range(1, 31))
dau = [520, 535, 528, 560, 545, 590, 610, 605, 598, 620,
       640, 632, 650, 645, 670, 690, 685, 700, 720, 715,
       730, 745, 738, 760, 775, 770, 790, 805, 798, 820]

fig, ax = plt.subplots(figsize=(7, 3))
ax.plot(days, dau)
ax.set_title("30 天日活跃用户数")

一行之差:柱状版是一堵墙,折线版一眼看出"稳步上涨、无异常缺口"。图型选对,结论自动浮现。

📝 随堂测验

随堂测验0 / 5 题正确

1. “近半年销售额走势”应该用什么图?

2. 饼图的适用边界是?

3. 直方图和柱状图的本质区别是?

4. 比较类柱状图的纵轴从 90 开始而不是 0,问题在哪?

5. 散点图右上倾斜说明广告费和订单量正相关,能直接下结论“广告带来了订单”吗?

本课小结

  • 图是回答问题的工具,先问对问题:变化折线、比较柱状、占比饼图、分布直方、关系散点
  • 三大误用:多类别硬塞饼图、时间序列画柱状、比较图纵轴不从 0 起(视觉撒谎)
  • 相关 ≠ 因果——散点图只答"有没有关系"
  • seaborn/plotly 都盖在 matplotlib 地基上,概念通用

选型的眼睛有了,下一课上手:matplotlib 的画布/坐标系模型 + 三种基础图的完整画法。

划选正文任意文字可高亮、批注或加入复习卡

讨论

载入中…