美文网首页R
复现SCI文章:配对连线、散点箱线图

复现SCI文章:配对连线、散点箱线图

作者: KS科研分享与服务 | 来源:发表于2023-02-23 16:59 被阅读0次

今天我们要复现的是一篇SCI文章的配对连线箱线图,配对箱线图、或者说配对连线图我们之前有写过(ggplot做分组配对连线图ggplot2|ggpubr配对箱线图绘制与配对检验复现NC图表-配对小提琴的绘制(理解绘图函数内部底层机制)),但是有一个细节没有处理,那就是使用抖动点。这次的复现让你加深印象,帮助对同类图形作图的理解。当然还有很多细节问题,能让你学到ggplot2作图技巧和处理方式,相关注释代码及数据已上传群文件!

image.png image.png

第一步,加载数据,完成一个普通的散点箱线图:

setwd('D:/KS项目/配对箱线图颜色配对')
df <- read.csv('df.csv', header = T)
library(ggplot2)
library(ggpubr)
#1
ggplot(data=df, aes(x = Disease.state, y = Richness,
                    color=Disease.state)) +
  geom_boxplot(alpha =0.5,size=1,outlier.shape = NA)+
  scale_color_manual(limits=c("Patient","Relative"), 
                     values=c("#E29827","#922927"))+
  stat_compare_means(method = "t.test",paired = TRUE, 
                     comparisons=list(c("Patient", "Relative")))+
  geom_jitter(alpha = 0.3,size=3, aes(fill=indi),shape=21)+
  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))+
  facet_wrap(~sample, scales = "free_y")+
  theme_bw() + 
  theme(panel.grid =element_blank(),
        axis.text = element_text(size = 10,colour = "black"),
        axis.text.x = element_blank(),
        axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        legend.position = 'top')+
  labs(y='Expression')
image.png

第二步,geom_line添加连线,但是有问题:


ggplot(data=df, aes(x = Disease.state, y = Richness,
                    color=Disease.state)) +
  geom_boxplot(alpha =0.5,size=1,outlier.shape = NA)+
  scale_color_manual(limits=c("Patient","Relative"), 
                     values=c("#E29827","#922927"))+
  stat_compare_means(method = "t.test",paired = TRUE, 
                     comparisons=list(c("Patient", "Relative")))+
  geom_jitter(alpha = 0.3,size=3, aes(fill=indi),shape=21)+
  geom_line(aes(group = Family.ID), 
            color = 'grey40', lwd = 0.5)+
  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))+
  facet_wrap(~sample, scales = "free_y")+
  theme_bw() + 
  theme(panel.grid =element_blank(),
        axis.text = element_text(size = 10,colour = "black"),
        axis.text.x = element_blank(),
        axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        legend.position = 'top')+
  labs(y='Expression')
image.png

第三步,抖动点和连线设置一致的位置,就完成了。

ggplot(data=df, aes(x = Disease.state, y = Richness,
                    color=Disease.state)) +
  geom_boxplot(alpha =0.5,size=1,outlier.shape = NA)+
  scale_color_manual(limits=c("Patient","Relative"), 
                     values=c("#E29827","#922927"))+
  stat_compare_means(method = "t.test",paired = TRUE, 
                     comparisons=list(c("Patient", "Relative")))+
  geom_jitter(size=3, aes(fill=indi),
              shape=21,position = position_dodge(0.5))+
  geom_line(aes(group = Family.ID), 
            color = 'grey40', lwd = 0.5,position = position_dodge(0.5))+ #添加连线
  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))+
  facet_wrap(~sample, scales = "free_y")+
  theme_bw() + 
  theme(panel.grid =element_blank(),
        axis.text = element_text(size = 10,colour = "black"),
        axis.text.x = element_blank(),
        axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        legend.position = 'top')+
  labs(y='Expression')
image.png

效果很好,可以应用到配对数据的可视化和分析。觉得分享有用的,点个赞、分享一下再走呗!!!

相关文章

网友评论

    本文标题:复现SCI文章:配对连线、散点箱线图

    本文链接:https://www.haomeiwen.com/subject/yyctldtx.html