pythonic生物人

审稿人:Minor Revisions,仅图b有点小问题!

本次使用R复现Nature上的broken_axis图!

当数据不在一个数量级上,但又要在一张图上同时反映大数据和小数据的变化规律,需要绘制断裂坐标轴(broken_axis)。

s41586-021-04248-x Extended Data Fig. 1 b 原图,
s41586-021-04248-x Extended Data Fig. 1 b 原图,
s41586-021-04248-x Extended Data Fig. 2 d 原图,
s41586-021-04248-x Extended Data Fig. 2 d 原图,
❤️复现效果图-a❤️
❤️复现效果图-a❤️

数据

Image

绘图

使用R语言一步步复现一下上图Nature类似图。

  • ✅默认图,
# 基础主图
p <- ggplot() +
# bar plot
  geom_col(data = stats, aes(x = age_group, y = mean),
           width = 0.4,
           fill = "#ff9999", color = "red", alpha = 0.7, size = 1) +
# 误差棒
  geom_errorbar(data = stats,
                aes(x = age_group, ymin = mean - sem, ymax = mean + sem),
                width = 0.15, size = 0.9, color = "red") +
# 抖动散点图
  geom_point(data = df,
             aes(x = age_group, y = value),
             color = "black", fill = "red",
             pch = 21, size = 4, alpha = 0.6, stroke = 1,position = position_jitter(width = 0.1)) +
  labs(x = "age (weeks)", y = NULL)
p
Image

这是一个bar plot + 误差棒 + 抖动散点图!

存在问题:5-9、10-14的均值分别为2和5、而15-20、21-30组的均值粉呗为35、40,四组数据放在一张图中很不协调,这时候断裂坐标轴(broken_axis)就很有帮助!


  • ✅断裂坐标轴(broken_axis)图,

对15-20、21-30组的进行broken_axis,scale_y_break(c(7, 33))设置断裂区间,

p +
#设置截断区间
  scale_y_break(c(7, 33))
Image

这样会协调很多,同时达到相同的目的!

当然和原图存在差异,

比如说统计显著P值添加,

Image

可参考之前的文章👉:复现IF50.0期刊上6张图,换数据即可用!

Image

比如说分面图使用,

Image

可参考之前的文章👉:复现Nature图,换数据即可用!

Image

本期结束!


获取绘图代码+测试数据+数据处理方法+依赖包安装方法,

👇(备注:299)

图片

-推荐阅读-

👉matplotlib教程:20w字+数百张图形+1W行代码+详细代码注释+学习交流群

图片

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

图片

👉R可视化教程:39个章节+20w字+数百张图

图片
图片