kp-029

可视化与数据报告

核心 ≈ 20 分钟 可视化matplotlib图表选择数据报告图表诚实

前置知识

本文基于模型知识整理。

一句话定义

可视化是把分析结论压缩成一眼可懂的图;报告则按「结论先行 → 图表佐证 → 方法附录」组织,让数据回答它该回答的问题。

为什么重要

分析的价值在传达:一张选错图型的图能把正确结论表达成错误印象(如截断 y 轴夸大波动)。对以数据产出为交付物的采集项目,图表与报告就是最终产品(kp-024 的出口)。

前置知识

kp-027/028 产出的分析结果;matplotlib 基础调用。

核心概念

  • 图型选择:时序→折线;类别对比→柱状;分布→直方图/箱线;两变量关系→散点;构成→堆叠柱(慎用饼图)。
  • 图表诚实:y 轴从 0 开始(折线可例外但需说明)、完整标注轴与单位、颜色不承载唯一信息。
  • 一图一事:每张图只回答一个问题;信息过载时拆图。
  • 报告结构:结论(1–3 条)→ 证据(图表+关键数字)→ 方法与局限(附录)。

原理与机制

从「分析产物」到「报告图表」的映射:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(8, 4))
for sku, series in indexed.items():                 # indexed 来自 kp-027
    ax.plot(series.index, series.values, label=sku)

ax.set_title("竞品价格指数对比(基期=100)")          # 标题即结论方向
ax.set_ylabel("价格指数")
ax.legend(fontsize=8)
fig.tight_layout()
fig.savefig("price_index.png", dpi=150)

图型决策速查:

问"随时间怎么变"      → 折线(时序, 变价事件加竖线标注)
问"谁高谁低"          → 柱状(排序后展示)
问"数据怎么分布"      → 直方图 / 箱线图(看离群, 呼应 kp-025)
问"两个量什么关系"    → 散点(聚类结果可上色, 呼应 kp-028)
问"构成占比"          → 堆叠柱(类目≤5时饼图可接受)

实例或案例

同一份价格数据两种表达:A 版把 y 轴设为 98–104(截断),视觉上「暴跌暴涨」;B 版 y 轴从 0 起、标注指数基期,真实波动一目了然。汇报场景里 A 版会误导决策——图的形式本身就在参与叙事,必须诚实。

常见误区

  • 误区一:一图多问。 六条序列、双 y 轴、三种颜色塞一张图,读者五秒内得不到任何结论;拆成小倍数图(subplots)。
  • 误区二:图无标注。 缺轴名、单位、基期说明的图无法被引用;每个数字都要可追溯。
  • 误区三:过程当结论。 报告从「我先抓了……然后清洗……」讲起;读者要的是结论先行,过程放附录。

自测题

  1. 五类问题对应的图型?

答:时间趋势→折线;类别对比→柱状;分布→直方/箱线;关系→散点;构成→堆叠柱。

  1. 为什么折线图 y 轴可以不从 0 开始?

答:折线关注变化趋势而非面积比较;但需在图中注明,且对比类柱状图必须从 0 起。

  1. 报告的三段结构?

答:结论先行(可执行要点)→ 图表与关键数字佐证 → 方法、口径与局限附录。

与其他知识点的关系

kp-024 的 marts 表是作图数据源;kp-028 的聚类结果靠散点上色表达;kp-033 把「报告交付」列为项目闭环终点。

延伸阅读

matplotlib 官方 Beginners' guide;《用数据讲故事》的图表设计原则章节。

相关知识点

学习进度