复现Nature期刊图,换数据可用!
本次使用R语言复现一下Nature上的h图!
h复现效果图
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, "****")
该图比较四个处理组在两个实验阶段中的差异,并标注关键组间统计学差异。值得学习的点:
灰色、白色背景使用,形成视觉分区 蜂群散点 geom_beeswarm,让读者看到数据分布、离散程度和潜在离群值stat_summary给出均值 ± 标准误,反映估计精度 geom_hline添加辅助线,明确划分分区 add_hsig添加两组之间的显著差异p value
-推荐阅读-
matplotlib教程:20w字+数百张图形+1W行代码+详细代码注释
seaborn教程:12.3万字+500多张图形+8000行代码
一些有用的学习资源:
加入学习
(备注:299)