单元测验:还原一张给定的图表
里程碑约 45 分钟
本课导读
U1.6 关卡。可视化的功夫最终只有一个检验标准:给你一张图,你能不能复刻它。本关先过 10 题综合测验,然后进入还原挑战——先运行"目标图"代码看清成品,再凭自己的手把它还原出来(目标代码折叠着,先别偷看)。预计 45 分钟。
赛前热身:本单元的知识地图
| 课 | 一句话回顾 |
|---|---|
| 1. 图表选择 | 变化折线、比较柱状、占比饼图、分布直方、关系散点;三大误用 |
| 2. 快速上手 | fig 画框 ax 画纸;plot/bar/barh/pie;groupby 结果 .index/.values 直连 |
| 3. 装裱 | 五步清单(结论标题/轴单位/图例/淡网格/纵轴从0);灰底强调色;savefig |
| 4. AI 辅助 | 四要素点菜;跑看查验收;三陷阱(编列名/私引库/过度装饰) |
第一关:综合测验
1. “各年龄段用户的消费金额分布”想看集中区间和异常值,选什么图?
2. fig, ax = plt.subplots(figsize=(6, 3)) 中 figsize 归谁管、什么单位?
3. 一张图画两条折线,缺了什么会变成“猜谜游戏”?
4. 类别名很长的排名图,首选方案是?
5. 把 groupby 结果 s 画成柱状图的直连写法是?
6. 标题《各城市销售额》和《上海贡献近半销售额》的差别是?
7. 想突出五根柱子中的一根,配色的正确姿势是?
8. savefig 导出的图贴进 PPT 四周总有白边,缺了哪个参数?
9. 让 AI 画图时“报数据长相(列名+类型+行数)”防的是哪个陷阱?
10. 验收 AI 绘图代码的完整三步是?
第二关:还原挑战
规则:先运行下面第一个代码块,看清目标图的每个细节;然后在第二个代码块里凭本单元的功夫还原它——先自己写,实在卡住再展开目标代码对照。
目标图的规格清单(这就是你的验收标准):
- 横向柱状图,六个产品按销售额升序排列(最大值在最上方)
- 只有最大值那根是橙色(#e8734a),其余灰色(#c9cdd4)
- 柱端标注数值(整数)
- 标题:《旗舰键盘贡献最大,配件类整体偏弱》
- x 轴标签"销售额(元)";淡横网格
现在轮到你——同样的数据,从零写出同样的图:
💡 提示(卡住再看)
四个关键动作:① 排序——两个列表要成对排,sorted(zip(sales, products)) 或先建 DataFrame 用 sort_values;② barh 升序排完最大值自然在顶;③ 强调色——升序时 colors[-1] 就是最大值;④ 装裱四件:bar_label、结论标题、xlabel、grid(axis="x")。
✅ pandas 风格的另一种解法(对照参考)
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"product": ["旗舰键盘", "无线鼠标", "显示器", "耳机", "手托", "键帽套装"],
"sales": [5980, 1780, 4797, 2754, 890, 1240],
}).sort_values("sales")
colors = ["#c9cdd4"] * len(df)
colors[-1] = "#e8734a"
fig, ax = plt.subplots(figsize=(6.5, 3.5))
ax.barh(df["product"], df["sales"], color=colors)
ax.bar_label(ax.containers[0], fmt="%.0f")
ax.set_title("旗舰键盘贡献最大,配件类整体偏弱")
ax.set_xlabel("销售额(元)")
ax.grid(axis="x", alpha=0.3)
zip 排序和 DataFrame 排序殊途同归——能还原出同样的图,用哪条路都算通关。逐项对照规格清单,六项全中即验收通过。
提示
通关加练(选做):把还原挑战的需求按"四要素点菜法"写成一段提问发给 AI,对比它的产出和你的手写版——你现在既能自己做,也能验收别人(和 AI)做的。这就是本单元想给你的完整能力闭环。
通关小结
U1.6 拿下,你的数据功夫补上了"表达"这最后一环:
- 选型的眼睛:五问五图 + 误用免疫
- 动手的肌肉:fig/ax 模型、三种基础图、pandas 直连
- 装裱的品味:五步清单 + 配色三原则——图能直接进周报
- 指挥的语言:四要素点菜 + 三步验收——AI 是你的施工队
下个单元是阶段 1 的大结局:三课连贯的销售数据分析实战项目(作品集第三件)+ 两课 AI 数学直觉。清洗、分析、可视化将在真实体量的数据上合体。
划选正文任意文字可高亮、批注或加入复习卡
讨论
载入中…