3、图表类型选择:折线图、柱状图、散点图、热力图、仪表盘——何时用哪个?
做实时监控这么多年,我见过太多人一上来就甩个折线图,结果数据根本不适合。说白了,选错图表类型,再漂亮的数据也是白搭。今天咱们就聊聊,这五种最常见的图表,到底什么时候该用哪个。
3.1 折线图:时间序列的标配
折线图是我用得最多的图表,没有之一。为什么?因为实时监控里,90% 的数据都跟时间有关。
什么时候用?
- 展示连续时间内的趋势变化
- 对比多个指标在同一时间段的表现
- 观察数据的上升、下降、波动规律
我在项目中遇到过一个典型的场景:监控服务器 CPU 使用率。用折线图一看,每天下午 3 点准时飙升,原来是定时任务在作怪。换成柱状图,这种趋势感就弱了很多。
核心要点:折线图擅长展示「变化」,不擅长展示「对比」。如果你要比较不同类别的数值大小,别用折线图。
小技巧:实时监控中,折线图建议只展示最近 1 小时的数据。时间跨度太长,线条会挤成一团,根本看不清。我一般会配合滚动窗口来做。
3.2 柱状图:分类对比的利器
柱状图,说白了就是比大小。你想知道哪个服务请求量最高?哪个接口响应最慢?柱状图一目了然。
什么时候用?
- 对比不同分类的数值大小
- 展示排名或分布情况
- 数据量不大(一般不超过 20 个分类)
避坑指南:我曾经犯过一个错——把 50 个服务的错误数全塞进一个柱状图。结果呢?柱子密密麻麻,根本分不清谁是谁。后来我学乖了,要么只展示 Top 10,要么用横向柱状图。
注意:柱状图的柱子宽度和间距要保持一致。别为了好看随意调整,那样会误导读者对数值的感知。
3.3 散点图:发现隐藏的关系
散点图在实时监控里用得相对少,但一旦用对,效果惊人。它不展示趋势,也不比大小,它展示的是「相关性」。
什么时候用?
- 分析两个变量之间的关系
- 发现异常点或离群值
- 数据量较大,且没有明显的时间顺序
举个例子。我记得有一次排查线上问题,发现某个接口的响应时间忽高忽低。用折线图看,完全没规律。后来我画了个散点图,横轴是请求量,纵轴是响应时间。你猜怎么着?数据点明显分成两簇——请求量超过 1000 时,响应时间直线上升。这就是散点图的威力。
核心要点:散点图不告诉你「发生了什么」,它告诉你「可能有什么关联」。适合做数据探索,不适合做日常监控。
3.4 热力图:密度与分布的视觉化
热力图,嗯,这个比较特殊。它用颜色深浅来表示数值大小,适合展示「密集」的数据。
什么时候用?
- 展示数据在二维空间中的分布密度
- 监控多个维度交叉的指标(比如按小时×按天)
- 数据量非常大,传统图表无法清晰展示
我做过一个很有意思的项目:监控用户访问的时段分布。横轴是小时(0-23),纵轴是星期(周一至周日),颜色深浅表示访问量。结果一目了然——工作日上午 10 点和下午 3 点是高峰,周末则集中在晚上。换成折线图或柱状图,你得画 7 条线才能表达清楚。
小技巧:热力图的颜色映射很关键。我习惯用「蓝-白-红」渐变,蓝色表示低值,红色表示高值。别用彩虹色,容易让人眼花。
3.5 仪表盘:一目了然的阈值监控
仪表盘,说白了就是个「状态指示器」。它不展示历史,不展示趋势,只告诉你「现在怎么样」。
什么时候用?
- 监控关键指标的当前状态
- 需要快速判断是否超出阈值
- 展示给非技术人员看(比如老板)
避坑指南:我曾经在一个大屏上放了 12 个仪表盘,每个都转得跟风扇似的。结果呢?根本没人看。后来我砍到只剩 3 个——系统健康度、核心接口延迟、错误率。记住,仪表盘是给「扫一眼」用的,不是给「研究」用的。
注意:仪表盘不要用来展示精确数值。它的指针位置只能告诉你「大概在哪个区间」,具体数值还是要看旁边的数字标签。
3.6 一张图看懂怎么选
说了这么多,我画了张流程图,帮你快速决策。你想想看,拿到数据后,先问自己三个问题:
- 数据跟时间有关吗?
- 是要比大小,还是找关系?
- 是看历史趋势,还是看当前状态?
3.7 总结:选图表的三个原则
最后,我总结三个原则,你记牢了,基本不会选错:
| 原则 | 说明 | 举例 |
|---|---|---|
| 1. 明确目的 | 先问自己:我想展示什么?趋势?对比?分布?状态? | 看趋势用折线,比大小用柱状 |
| 2. 考虑受众 | 给技术人员看可以复杂点,给老板看要简单直观 | 老板看仪表盘,工程师看散点图 |
| 3. 控制数量 | 一个图表只讲一件事,别贪多 | 一个折线图别超过 5 条线 |
最后说一句:图表选择没有绝对的对错,只有合不合适。我见过有人用仪表盘展示趋势,也有人用折线图做对比——效果嘛,只能说「能用,但不好用」。你按上面的方法选,至少不会出大错。