这图怎么画| 箱线图+散点+中位数连线

f9e7fdcb429ba678d8d0da499f44c361.jpeg

boxlpotwithline

写在前面

【这图怎么画】系列的图都来自VIP群里同学的提问。推文只是对图片的复现,不代表作者对图片展现形式的认同。欢迎同学们在群里分析有意思的图片。

本期图片

8cf6d63e45798d456e6d5dda2b50597e.png

「Title:」A distinct clade of Bifidobacterium longum in the gut of Bangladeshi children thrives during weaning

「Journal:」Cell

「DOI」:10.1016/j.cell.2022.10.011outside_default.png

Box shows interquartile range, whiskers show data range, and the horizontal line in the box shows the median. Dashed lines show longitudinal trends connecting medians across time points.

箱线图,虚线为中位数连线。

复线结果

9ac44a798993d8633fa21f345cd5b434.png

示例数据和代码领取

木舟笔记永久VIP企划

「权益:」

  1. 「木舟笔记所有推文示例数据及代码(「在VIP群里」实时更新」)。

    889fff137cf7f7930360c712212fad0b.png
    data+code
  2. 木舟笔记「科研交流群」

「收费:」

「169¥/人」。可添加微信:mzbj0002 转账(或扫描下方二维码),或直接在文末打赏。木舟笔记「2022VIP」可直接支付「70¥」升级。

点赞在看 本文,分享至朋友圈集赞30个保留30分钟,可优惠20¥

b60c86af38feb7d4242b87c22a0afd11.png

绘图

# data prepare
data <- data.frame(runif(30,0,1),
                    runif(30,0.8,1),
                    runif(30,0.8,1),
                    runif(30,0.25,0.85),
                    runif(30,0,0.7),
                    runif(30,0,0.5),
                    runif(30,0,0.1))
row.names(data)<- paste0('sample',1:30)
colnames(data) <- paste0('time',1:7)
data$sample = row.names(data)

head(data)
# wide to long
library(tidyr)
dt_plot <- gather(data, time, value,-sample)
head(dt_plot)
# calculate grouped medians
median =  data.frame(time =  paste0('time',1:7) ,
                     median = tapply(dt_plot$value, dt_plot$time, median) )
head(median)
## plot
library(ggplot2)
library(ggbeeswarm)
ggplot(dt_plot,aes(time,value))+
  geom_boxplot()+
  geom_beeswarm(shape = 21,color = '#9ca7ce',fill = '#9ca7ce',
                size = 3.5,cex = 1.5,
                stroke = 0.6,alpha = 0.8)+
  geom_line(data = median,
            mapping = aes(x = time, y = median, group=1),
            color="black",linetype = 'longdash',size = 2)+
  theme_bw()+
  labs(x = "", y = "")+
  ggtitle("My Plot Title")+
  theme(axis.text.x = element_text(color="black",size=14),
        axis.text.y=element_text(color="black",size=14),
        plot.title = element_text(size = 14, face = "bold", color = "black"),
        panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))

ggsave('boxlpotwithline.pdf',width = 5,height = 5)
83c2863558251ce688296a254113d88c.png
boxplot+line

往期内容

  1. 资源汇总 | 2022 木舟笔记原创推文合集(附数据及代码领取方式)

  2. CNS图表复现|生信分析|R绘图 资源分享&讨论群!

  3. R绘图 | 浅谈散点图及其变体的作图逻辑

  4. 这图怎么画| 有点复杂的散点图

  5. 这图怎么画 | 相关分析棒棒糖图

  6. 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路

  7. (免费教程+代码领取)|跟着Cell学作图系列合集

  8. Q&A | 如何在论文中画出漂亮的插图?

  9. 跟着 Cell 学作图 | 桑葚图(ggalluvial)

  10. R实战 | Lasso回归模型建立及变量筛选

  11. 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)

  12. R实战 | 给聚类加个圈圈(ggunchull)

  13. R实战 | NGS数据时间序列分析(maSigPro)

  14. 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)


8cc8e285cc67be82fb5bc7324061484f.png
木舟笔记矩阵

猜你喜欢

转载自blog.csdn.net/weixin_45822007/article/details/130234652