pythonic生物人

复现Nature期刊图,换数据可用!

本次使用R语言复现一下Nature上的h图!

s41586-021-04194-8 h原图
s41586-021-04194-8 h原图

h复现效果图

Image

R语言复现h图

# 绘制分组条形图
ggplot(df_fecal_cal, aes(phase, value)) +
# 用浅灰色背景标示第二阶段
  annotate("rect", xmin = 1.5, xmax = Inf, ymin = -Inf, ymax = Inf) +
# 用beeswarm显示每个个体的原始数据点
  geom_beeswarm(aes(fill = group),
                dodge.width = 0.9,
                corral.width = 1.1) +
# 在每个分组上方添加SEM(均值±标准误)误差棒
  stat_summary(aes(group = group),
               geom = "errorbar",
               fun.data = mean_se) +
# 绘制透明填充的均值条形(仅作视觉锚点)
  stat_summary(aes(group = group),
               geom = "bar",
               fun = mean,
               position = position_beeswarm(dodge.width = 0.9)) +
# 辅助线
  geom_vline(xintercept = 1.5, linetype = 2, linewidth = 0.4) +
# 添加两组间的显著性比较(****)
  add_hsig(0.70, 0.90, y_fecal_exp, "****")
Image

该图比较四个处理组在两个实验阶段中的差异,并标注关键组间统计学差异。值得学习的点:

  • 灰色、白色背景使用,形成视觉分区
  • 蜂群散点geom_beeswarm,让读者看到数据分布、离散程度和潜在离群值
  • stat_summary给出均值 ± 标准误,反映估计精度
  • geom_hline添加辅助线,明确划分分区
  • add_hsig添加两组之间的显著差异p value

-推荐阅读-

matplotlib教程:20w字+数百张图形+1W行代码+详细代码注释

图片

seaborn教程:12.3万字+500多张图形+8000行代码

图片

R可视化教程:28个章节+11w字+数百张图

图片
图片

一些有用的学习资源:

👉2026可视化工具TOP3

👉学习R可视化

👉Python matplotlib

👉嫌Matplotlib繁琐?试试Seaborn


加入学习

(备注:299)

图片