pythonic生物人

复现Nature大子刊2张图,换数据即可用!

使用R语言实现一下Nature genetics中的g、h、i、j、k、l这种图!

s41586-023-06054-z、原图
s41586-023-06054-z、g原图
s41586-023-06054-z、原图
s41586-023-06054-z、hijk原图

g、h、i、j、k、l为棒棒糖图(Lollipop Chart),是一种结合线段和圆点的数据可视化形式,通过线段长度表示数值大小,末端圆点突出数据位置,能够清晰展示不同类别之间的数值对比和正负趋势。


✅读入测试数据

使用“1.4.15 product数据集” ,

Image

✅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() 
Image

相比传统柱状图,它采用留白设计减少视觉干扰,特别适合展示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() #记得注释掉这段代码,开启垂直棒棒糖图

......

Image


✅延展方法2,只显示一边

如F图,

Image

✅延展方法3,环状显示棒棒糖图

如j图,

Image

✅延展方法4,折线棒棒糖图

如e图,

Image

本期结束!


测试数据+详细代码:👉保姆级R可视化教程

👇(备注:299)

图片
保姆级R可视化教程,包含28个章节,11w字,数百张图,旨在引导如何系统学习R语言可视化,
Image
图片
图片
图片
图片
复现效果图-abcd图❤️
复现效果图-b图❤️
图片
❤️复现效果图-ABCD图❤️
图片
❤️复现效果图-bcd图❤️
图片
图片
❤️复现效果图-b图❤️
图片
图片
图片
Image
图片
图片
图片
图片
图片
图片
图片

图片

图片
图片
图片

(加入学习,收费,备注:299)

图片