哑铃图:哪一种数据对比方式既优雅又独特?
摘要:简洁的线条连接两个数据点,就像哑铃的两端,在对比分析中展现出令人惊艳的清晰度。 在平时的数据分析项目中,我经常会遇到比较两个相关数据集的变化情况。 这时,传统的做法是使用堆积条形图或簇状条形图,但它们存在一个共同问题:当我们需要精确追踪每个
简洁的线条连接两个数据点,就像哑铃的两端,在对比分析中展现出令人惊艳的清晰度。
在平时的数据分析项目中,我经常会遇到比较两个相关数据集的变化情况。
这时,传统的做法是使用堆积条形图或簇状条形图,但它们存在一个共同问题:当我们需要精确追踪每个项目在两个时间点或两种条件下的变化时,这些图表会让我们的眼睛在条形之间来回跳跃,难以直观把握变化的幅度和方向。
今天,我要向大家推荐一种更优雅的替代方案--哑铃图。
1. 哑铃图是什么?
哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。
它源于人们对更有效数据比较方式的持续探索。
在传统的时间序列比较中,我们通常使用两条折线,但当需要比较的项目较多时,折线图会变得混乱。哑铃图通过将比较焦点放在每个项目的两个状态上,解决了多项目对比时的视觉混乱问题。
它的基本结构很简单:
每个观察单位(如产品、地区、时间段)对应两个数据点
这两个数据点由一条直线(或线段)连接
整个图形看起来像一排排哑铃,因而得名
2. 实现原理
哑铃图的核心设计理念是最小化认知负荷。
当我们需要比较A和B时,最直接的方式就是把它们放在一起,用一条线连接,然后观察这条线的长度(差异大小)和方向(哪个更大)。
在matplotlib中创建哑铃图,我们主要使用以下元素:
散点图:表示两个数据点
直线段:连接两个相关点
颜色编码:通常用不同颜色区分前后状态或不同组别
标签系统:清晰标识每个观察单位
3. 实战示例
接下来,我们看看哑铃图在实际场景中的显示效果。
假设我们是一家电商公司的数据分析师,需要比较8个主要产品类别在2022年和2023年的销售额变化。
