前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Nature学作图:R语言ggplot2箱线图/散点图/patchwork包组合图

跟着Nature学作图:R语言ggplot2箱线图/散点图/patchwork包组合图

作者头像
用户7010445
发布2023-11-13 11:16:06
4600
发布2023-11-13 11:16:06
举报

论文

Evolution of immune genes is associated with the Black Death

https://www.nature.com/articles/s41586-022-05349-x

论文中Figure4的代码和数据是可以找到的,今天的推文来复现一下论文中的Figure4

image.png

论文中提供的数据和代码的链接 https://github.com/TaurVil/VilgalysKlunk_yersinia_pestis/

推文主要的学习点是patchwork包将ggplot2的多个图组合到一起

论文中具体的数据是什么意思暂时看的不是很明白,所以跳过论文中处理数据的代码,直接用处理好的数据来画图

加载需要用到的R包

代码语言:javascript
复制
library(tidyverse)
library(patchwork)

一个散点图

代码语言:javascript
复制
dat01<-read_delim("data/20231101/dat01.txt",
                  delim = "\t")
dat01
p2 <- ggplot(dat01[dat01$TIME == "24h",], aes(x=PC1, y=PC2, color = factor(GT))) + 
  geom_point(size=6) + 
  theme_classic() + 
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))
p2

一个箱线图

代码语言:javascript
复制
p1 <- ggplot(dat01, aes(x=factor(GT), y=PC1, fill=factor(GT))) + 
  geom_boxplot() + coord_flip() +  
  theme_classic() + 
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) + 
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) + 
  xlab("genotype")

p1

image.png

四个箱线图

代码语言:javascript
复制
dat02<-read_delim("data/20231101/dat02.txt",
                  delim = "\t")
dat02

p3<-dat02 %>% 
  filter(cytokine == "G-CSF") %>% 
  mutate(new_value=qqnorm(value, plot.it = F)$x) %>% 
  ggplot(aes(y=new_value, x=as.factor(status), fill=as.factor(gt))) + 
  geom_boxplot(outlier.shape = NA) + 
  ggtitle("G-CSF") + 
  geom_jitter(width=0.2,col='gray45') +
  theme_classic() + 
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

p3


p4<-dat02 %>% 
  filter(cytokine == "IL1B") %>% 
  mutate(new_value=qqnorm(value, plot.it = F)$x) %>% 
  ggplot(aes(y=new_value, x=as.factor(status), fill=as.factor(gt))) + 
  geom_boxplot(outlier.shape = NA) + 
  ggtitle("IL1B") + 
  geom_jitter(width=0.2,col='gray45') +
  theme_classic() + 
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))
p4


p5<-dat02 %>% 
  filter(cytokine == "IL10") %>% 
  mutate(new_value=qqnorm(value, plot.it = F)$x) %>% 
  ggplot(aes(y=new_value, x=as.factor(status), fill=as.factor(gt))) + 
  geom_boxplot(outlier.shape = NA) + 
  ggtitle("IL10") + 
  geom_jitter(width=0.2,col='gray45') +
  theme_classic() + 
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))
p5

p6<-dat02 %>% 
  filter(cytokine == "CCL3") %>% 
  mutate(new_value=qqnorm(value, plot.it = F)$x) %>% 
  ggplot(aes(y=new_value, x=as.factor(status), fill=as.factor(gt))) + 
  geom_boxplot(outlier.shape = NA) + 
  ggtitle("CCL3") + 
  geom_jitter(width=0.2,col='gray45') +
  theme_classic() + 
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))
p6

image.png

所有图组合到一起

代码语言:javascript
复制
( p2 / p1 ) + part2 + plot_annotation(tag_levels = 'A') + 
  plot_layout(guides = 'collect', nrow = 1, ncol=3,
              widths = c(1,1,2))

image.png

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文
  • 加载需要用到的R包
    • 一个散点图
      • 一个箱线图
        • 四个箱线图
          • 所有图组合到一起
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档