核心问题
你想展示什么? 根据目的选择图表类型,分为四大方向:比较、分布、组成、联系。

一、比较(Comparison)
在项目之间
| 场景 |
推荐图表 |
| 2 个变量,需强调宽度差异 |
可变宽度柱形图 |
| 多个项目、多分类 |
表格 / 带嵌入图表的表格 |
| 多分类、少项目 |
条形图 |
| 单个或 2 个项目、多分类 |
柱形图 |
随时间变化
| 场景 |
推荐图表 |
| 少数时期 |
柱形图 |
| 多个时期 |
折线图 |
| 循环数据 |
圆形面积图 / 雷达图 |
二、分布(Distribution)
| 场景 |
推荐图表 |
| 少数数据点 |
柱形图 / 条形图 |
| 单个变量 |
直方图 |
| 2 个变量 |
散点图 |
| 3 个变量 |
三维面积图 |
三、组成(Composition)
随时间变化
| 场景 |
推荐图表 |
| 只关注相对值差异 |
堆叠百分比面积图 |
| 关注相对和绝对值差异 |
堆叠面积图 |
| 少数时期(相对值) |
堆叠百分比柱形图 |
| 少数时期(绝对值) |
堆叠柱形图 |
静态
| 场景 |
推荐图表 |
| 简单的份额占总量 |
饼图 |
| 部分累计至整体 |
瀑布图 |
| 部分与组件占总量 |
堆叠百分比柱形图(单柱) |
四、联系(Relationship)
| 变量数 |
推荐图表 |
| 2 个变量 |
散点图 |
| 3 个变量 |
气泡图 |
五、Seaborn 分类图速查
Seaborn 的分类图通过 catplot(kind=...) 统一调用,分为三个家族:
分类散点图
| 函数 |
kind 参数 |
特点 |
stripplot() |
"strip"(默认) |
沿分类轴绘制散点,可能重叠 |
swarmplot() |
"swarm" |
散点自动避免重叠,显示分布形态 |
分类分布图
| 函数 |
kind 参数 |
特点 |
boxplot() |
"box" |
箱线图,显示四分位数和异常值 |
violinplot() |
"violin" |
小提琴图,显示核密度估计 |
boxenplot() |
"boxen" |
增强箱线图,更多分位数层级 |
分类估计图
| 函数 |
kind 参数 |
特点 |
pointplot() |
"point" |
点估计 + 置信区间,适合比较趋势 |
barplot() |
"bar" |
柱状图 + 置信区间 |
countplot() |
"count" |
计数柱状图,显示各类别频数 |