当前位置: 首页 > news >正文

使用Alpine配置WSL ssh门户兄

1. 哑铃图是什么?

哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。

它源于人们对更有效数据比较方式的持续探索。

在传统的时间序列比较中,我们通常使用两条折线,但当需要比较的项目较多时,折线图会变得混乱。哑铃图通过将比较焦点放在每个项目的两个状态上,解决了多项目对比时的视觉混乱问题。

它的基本结构很简单:

每个观察单位(如产品、地区、时间段)对应两个数据点

这两个数据点由一条直线(或线段)连接

整个图形看起来像一排排哑铃,因而得名

2. 实现原理

哑铃图的核心设计理念是最小化认知负荷。

当我们需要比较A和B时,最直接的方式就是把它们放在一起,用一条线连接,然后观察这条线的长度(差异大小)和方向(哪个更大)。

在matplotlib中创建哑铃图,我们主要使用以下元素:

散点图:表示两个数据点

直线段:连接两个相关点

颜色编码:通常用不同颜色区分前后状态或不同组别

标签系统:清晰标识每个观察单位

3. 实战示例

接下来,我们看看哑铃图在实际场景中的显示效果。

假设我们是一家电商公司的数据分析师,需要比较8个主要产品类别在2022年和2023年的销售额变化。

(完整的代码在文章末尾提供下载地址,文中只截取部分代码)

先创建一些测试数据:

# 示例数据:8个产品类别在2022年和2023年的销售额(单位:万元)

categories = [

"电子产品",

"服装鞋帽",

"家居用品",

"美妆护肤",

"图书音像",

"运动户外",

"食品饮料",

"母婴用品",

]

sales_2022 = [85, 92, 78, 65, 45, 60, 88, 72]

sales_2023 = [95, 87, 85, 78, 52, 73, 95, 80]

然后,我们绘制传统的簇状条形图和哑铃图来对比一下效果:

# 创建子图,对比两种可视化方法

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 8))

# 簇状条形图

x = np.arange(len(categories))

bars1 = ax1.bar(x - width/2, sales_2022, width, label='2022年', color='#4C72B0', alpha=0.8)

bars2 = ax1.bar(x + width/2, sales_2023, width, label='2023年', color='#DD8452', alpha=0.8)

# 在每个条形上添加数值标签

# 省略 ...

# 哑铃图

# 设置y轴位置(每个类别的垂直位置)

y_pos = np.arange(len(categories))

# 绘制连接线

for i, (y2022, y2023) in enumerate(zip(sales_2022, sales_2023)):

# 确定线颜色:增长为绿色,下降为红色

line_color = '#55A868' if y2023 > y2022 else '#C44E52'

ax2.plot([y2022, y2023], [i, i], color=line_color, linewidth=2.5, alpha=0.7, zorder=1)

# 绘制数据点

ax2.scatter(sales_2022, y_pos, s=120, color='#4C72B0', alpha=0.9, label='2022年', zorder=2, edgecolors='white', linewidth=2)

ax2.scatter(sales_2023, y_pos, s=120, color='#DD8452', alpha=0.9, label='2023年', zorder=2, edgecolors='white', linewidth=2)

# 省略 ...

plt.tight_layout()

plt.show()

通过上面的对比,我们可以清晰地看到哑铃图的优势:

变化一目了然:连接线的长度直观表示变化幅度,方向表示增长或下降

减少视觉跳跃:眼睛不需要在条形间来回移动,而是沿着水平线自然追踪

突出比较重点:专注于每个项目的两个状态对比,而非绝对数值

进一步,我们还可以给哑铃图排序,按照增长由快到慢给各个品类排序,这样自然形成从"下降最显著"到"增长最显著"的连续谱,模式自动显现,无需刻意寻找。

比如上面的哑铃图中,【服装鞋帽】这个品类其实销售额是下降的,混在一堆哑铃中不容易看出来吧?

# 创建排序后的哑铃图

fig, ax = plt.subplots(figsize=(10, 8))

# 按变化幅度排序

sorted_indices = np.argsort(

[sales_2023[i] - sales_2022[i] for i in range(len(categories))]

)

sorted_categories = [categories[i] for i in sorted_indices]

sorted_2022 = [sales_2022[i] for i in sorted_indices]

sorted_2023 = [sales_2023[i] for i in sorted_indices]

# 绘制连接线

# 省略 ...

# 绘制数据点

# 省略 ...

# 添加变化箭头标注

# 省略 ...

plt.tight_layout()

plt.show()

这样改造后,由上到下的哑铃,越来越短(也就是增长越来越慢),最底部的那个是负增长,用了红色来标注。

4. 总结

数据可视化的核心目标是有效传达信息。当我们需要强调变化、比较两个相关状态时,哑铃图提供了一种简洁而强大的解决方案。

就像选择合适的工具完成工作一样,在面对数据比较任务时,我们应该根据具体需求选择最合适的可视化形式:

当需要比较多个项目的两个状态时,选择哑铃图

当需要展示单个项目的多个组成部分时,选择堆积条形图

当需要比较多个项目的多个类别时,选择簇状条形图

最好的可视化不是最复杂的,而是能让观众在最短时间内理解最多信息的那个。

哑铃图正是这样一种高效的工具,它用最简单的线条连接,讲述了数据世界中最动人的变化故事。缆占甘谴

http://www.jsqmd.com/news/620159/

相关文章:

  • OpenClaw多模型对比:千问3.5-9B与本地LLaMA混搭方案
  • 【2026金融AI改造黄金窗口期】:为什么你必须在Q3前完成模型可解释性嵌入、实时风控链路重构与FRT(金融就绪测试)认证?
  • 从手动抢票到智能代理:Python自动化抢票技术深度探索
  • 2026 鸡肉粉优质供应企业推荐榜:渤海海洋进出口领衔,专注鸡肉粉、进口鸡肉粉、国产鸡肉粉、美国鸡肉粉全品类供应 - 海棠依旧大
  • 金融行情API对接指南:WebSocket实时订阅外汇/期货/数字货币(附代码示例)
  • 【20年甲方架构师亲授】AI原生供应商“三阶验证法”:沙箱测试→场景压测→知识迁移审计——错过第2阶,90%项目6个月内返工
  • 从一次诡异的从站掉线说起:深入SOEM错误处理API的实战排坑指南
  • Realistic Vision V5.1开源模型合规部署:符合GDPR/CCPA的数据本地化实践
  • 告别Process调用!用pythonnet在C#中直接运行Python代码的完整指南
  • 高效启动.ipynb文件的多种实用技巧
  • 3分钟永久激活Windows与Office:KMS_VL_ALL_AIO智能脚本完全指南
  • 2026 年再生铜再生铝粉尘烟气治理六大品牌排名及解析 - 十大品牌榜
  • 从代码到推理结果全程可证伪,构建具备数学可验证性的AI软件质量保障体系
  • 基于PyTorch 2.8与LSTM的时间序列预测:从算法理论到代码实现
  • 长护险护理员林海琴:一场与时间赛跑的守护
  • 一图定刊级:虎贲等考 AI 科研绘图,让学术可视化告别 “肝图” 时代
  • GPT-6技术深度解析:200万Token上下文、原生多模态架构与Agent能力跃迁
  • 电子技术——MOS管小信号模型的工程应用与优化策略
  • jdk-17_windows-x64_bin
  • 【YOLO】从零到一:Docker镜像构建与容器部署实战指南
  • Win11Debloat终极指南:5个简单步骤让Windows系统更清爽高效
  • 小白友好:Qwen3Guard安全审核模型网页版快速部署与测试教程
  • 从BigInt到Number:DolphinDB数据对接KLineChart时,那个你不得不处理的时间戳类型转换问题
  • intv_ai_mk11开源镜像:基于Llama的中文优化文本模型,附完整训练与部署文档
  • STM32数码管刷新优化:定时器中断与消影技术的实战应用
  • Swin-Unet训练两分类数据集,从标签像素值调试到解决CUDA报错的完整避坑记录
  • jdk-16.0.2_linux-x64_bin.tar
  • Qwen3-TTS声音设计模型5分钟快速上手:10种语言语音合成零基础教程
  • 轻松打造个性化动态桌面:视频壁纸设置全攻略
  • Stable Diffusion像素时装锻造坊实战体验:用AI生成高质感皮革像素时装