复现Nature大子刊2张图,换数据即可用!
使用R语言实现一下Nature genetics中的g、h、i、j、k、l这种图!
g、h、i、j、k、l为棒棒糖图(Lollipop Chart),是一种结合线段和圆点的数据可视化形式,通过线段长度表示数值大小,末端圆点突出数据位置,能够清晰展示不同类别之间的数值对比和正负趋势。
✅读入测试数据
使用“1.4.15 product数据集” ,
✅R实现关键代码
# 核心代码
# 创建水平棒棒糖图
ggplot(product_data, aes(
x = reorder(product, growth_rate), # 按增长率重新排序产品
y = growth_rate # Y轴显示增长率
)) +
# 绘制棒棒糖的"棒"(线段部分)
geom_segment(aes(xend = product, yend = 0)
) +
# 绘制棒棒糖的"糖"(圆点部分)
geom_point(size = 4) + # 圆点大小
# 水平显示
coord_flip()
相比传统柱状图,它采用留白设计减少视觉干扰,特别适合展示10-30个类别的数据排名或差异分析,常用于业绩对比、增长率分析等场景,在有限空间内实现简洁直观的数据呈现,也是CNS常客。
当然,这张图还有其它延展方法:
✅延展方法1,flip旋转x轴方向
# 创建垂直棒棒糖图
ggplot(product_data, aes(
x = reorder(product, growth_rate),
y = growth_rate,
color = direction
)) +
geom_segment(aes(xend = product, yend = 0)
) +
geom_point(size = 4)
# coord_flip() #记得注释掉这段代码,开启垂直棒棒糖图
......
✅延展方法2,只显示一边
如F图,
✅延展方法3,环状显示棒棒糖图
如j图,
✅延展方法4,折线棒棒糖图
如e图,
本期结束!
测试数据+详细代码:👉保姆级R可视化教程
👇(备注:299)
(加入学习,收费,备注:299)