云计算百科
云计算领域专业知识百科平台

12_图表选型指南

很多人一拿到数据就先画图看看——画什么?柱状图吧,或者饼图?结果数据没问题,图却选错了,读者 get 不到重点。

图表不是为了"有个图",而是为了把数据里的信息更快、更准地传递出去。今天不讲参数和代码,讲一个更根本的问题:面对一份数据,该选什么图? 按你想表达的内容分成 8 种常见场景,每种告诉你用什么图、为什么、什么时候不能用。


一、想比大小?用柱状图

适用:不同类别之间比多少、排名次(各产品销量、各部门人数、各地区营收、学生成绩排名)。

为什么? 人眼对柱子高度的判断很准,两个柱子差多少一眼看出;而且柱子基线都在 0 线上,不容易误导。

什么时候不能用? 类别超过 10 个会挤成一团看不清(考虑横向柱状图,或只列前几名);想看趋势变化那是折线图的活。柱子一般 5-7 根效果最好,类别多就用横向 barh,文字横着放更好读。

ax.bar(categories, values) # 柱状图
ax.barh(categories, values) # 横向柱状图


二、想看趋势?用折线图

适用:数据随时间变化的走势、连续变量的变化规律(日/月销售额、股价波动、温度变化、网站流量)。

为什么? 线条本身就在表达"连接"和"连续",从左到右一眼看出是涨是跌、平稳还是波动、有没有拐点。

什么时候不能用? 数据是无序离散类别时用柱状图——产品之间没有连续关系,不能拿线连起来;只有两三个点也看不出趋势。注意折线图的 X 轴必须是有序的(时间、年龄这种有大小顺序),别拿"产品A、产品B"这种无序类别当 X 轴,那会误导读者以为它们有连续关系。

ax.plot(x, y)


三、想看占比?慎选饼图

适用:一个整体分成几个部分,看各部分占整体的比例(公司收入构成、市场份额、预算分配)。

饼图是被滥用最多的图表,两个致命弱点:一是人眼对角度的判断远不如对长度准,两个扇形差 5% 你很难看出哪个大;二是类别一多就乱,最多放 5-6 块,多了就成五颜六色的披萨。

饼图的正确打开方式: 类别不超过 5 个、有一个你想强调的明显大部分、你真的在表达"占整体比例"而不是"谁比谁大"。如果只是想比大小,哪怕是百分比,也请用柱状图。 环形图(甜甜圈图)本质是中间挖洞的饼图,优缺点一样。

ax.pie(values, labels=categories, autopct='%1.1f%%')


四、想看两个变量的关系?用散点图

适用:两个数值型变量之间有没有关联、强弱、正负(身高和体重、广告费和销售额、学习时间和分数)。

散点图把两个变量的联合分布完整呈现,每个点是一个样本,点的整体形态就是关系本身。你一眼能看出:正/负相关、线性还是非线性、关系强还是弱(贴成一条线还是散成一片云)、有没有异常值。

什么时候不能用? 其中一个变量是类别就用箱线图;数据点少于 20 个画出来没意义;想精确读数值也别看散点图。可以叠加回归线,但记住——相关不等于因果,散点图只告诉你"有关系",不告诉你"谁导致谁"。

ax.scatter(x, y)


五、想看分布?用直方图或箱线图

直方图:看整体形状

适用:一组数据是怎么分布的——集中在哪、分散程度、偏不偏、有没有双峰(员工工资、学生成绩、客户年龄)。

它和柱状图像但不是一回事:柱状图 X 轴是类别、柱子有间隔;直方图 X 轴是连续数值区间、柱子没间隔。它最有用的是告诉你数据的"形状":是正态(钟形)还是偏态、集中在中间还是两头、有没有异常的高值或低值。

ax.hist(data, bins=20)

箱线图:看分组对比

适用:多个类别之间比较数据的分布范围和中位数(不同班级成绩、不同部门薪资、不同产品评分)。一条小箱子装了五个关键数:最小值、第一四分位数、中位数、第三四分位数、最大值,外加异常值,信息密度很高。缺点是初学者看不懂——读者不熟就加个说明,或考虑换别的图。

ax.boxplot([group1, group2, group3])


六、想看两类维度交叉?用热力图

适用:两个维度交叉,看交叉点数值大小,找规律找异常(星期×小时客流量、产品×地区销量矩阵、所有变量两两相关系数矩阵)。

人眼对颜色深浅非常敏感——一堆数字表格看半天找不到规律,换成热力图,颜色深浅一眼扫过去模式就出来了(比如周末下午人最多、工作日凌晨最少)。连续型数据用渐变色,别用彩虹色,彩虹色的深浅感知不均匀。

import seaborn as sns
sns.heatmap(data_matrix, annot=True, cmap='YlOrRd')


七、想按地理看?用地图

适用:数据带地理位置,想直观展示地区差异(各省销售额、各国用户数、各城市门店)。优点是直观、地区差异一目了然,缺点是制作门槛高,需要地理数据(shapefile 或 GeoJSON)。Python 里可用 pyecharts(交互地图效果好)、geopandas(数据分析场景常用)、plotly。初学先把基础图练熟,真有地理数据要展示了再针对性学。


八、一张决策表,选图不纠结

拿到数据先问自己"我想表达什么",然后按表选图:

你想表达什么首选图表次选别用错的
不同类别比大小 柱状图 条形图 饼图(类别多了没法比)
随时间变化的趋势 折线图 面积图 柱状图(趋势感弱)
各部分占整体的比例 饼图(≤5类) 堆叠柱状图 折线图
两个变量的关系 散点图 气泡图 柱状图(看不出分布)
一组数据的分布 直方图 密度图 折线图
多组数据的分布对比 箱线图 小提琴图 柱状图(只看平均不够)
两个维度交叉的大小 热力图 分组柱状图 散点图
数据的地理位置差异 地图 柱状图 饼图

最后一句:图表是工具,不是装饰。 能用最简单的图把事情说清楚,就别用复杂的,信息传递效率永远排第一。

真实运行效果

把“想比大小就用柱状图”这个判断真跑一遍,实际输出是这样的:

截图里先打印了三类产品的真实销售额数据框,再按决策表判定“比大小→柱状图”并完成绘图,最后附上速查表,选型判断和运行过程一目了然。

下一篇聊聊怎么把默认的"丑图"改成"专业级图表"——不改数据,只调样式,效果差一大截。


梅雅达编程工作室 · Python数据实战系列第12篇
选对图表,分析效率翻倍。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 12_图表选型指南
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!