复现Nature期刊图,换数据可用!
本次使用R语言复现一下Nature上的c图!
c复现效果图
R语言复现c图
ggplot(df_gain_rate, aes(x = phase, y = value)) +
# 戒断期灰色底
annotate("rect", xmin = 1.4, xmax = Inf, ymin = -Inf, ymax = Inf) +
# 蜂群散点
geom_beeswarm(aes(fill = group)) +
# 组均值横标
stat_summary(aes(group = group), geom = "crossbar") +
geom_hline(yintercept = 0, linetype = 1) +
geom_vline(xintercept = 1.4, linetype = 2) +
# 4组比较标注 — 括号高度基于 phase 数据最大值 + 间隙,永不重叠
add_hsig(0.70, 0.90, y_gain_exp, "****")
该图比较不同处理组在两个实验阶段(如暴露期 vs 戒断期)的体重增长率(gain rate)差异,并突出阶段分界与组间统计学差异。
值得学习的点:
灰色、白色背景使用,标示戒断期 / 第二阶段,与暴露期形成视觉分区 蜂群散点 geom_beeswarm展示每一个动物的体重增长率,避免点重叠,比普通jitter更规整stat_summary在每个组内画出均值(横线)+ 置信区间/四分位范围 geom_hline添加辅助线,可直观判断哪些组整体在增重、哪些在减重 add_hsig标出两组之间的显著差异p value
-推荐阅读-
matplotlib教程:20w字+数百张图形+1W行代码+详细代码注释
seaborn教程:12.3万字+500多张图形+8000行代码
一些有用的学习资源:
加入学习
(备注:299)