Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >跟着Nature学作图:R语言ggplot2箱线图/散点图/patchwork包组合图

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

作者头像
用户7010445
发布于 2023-11-13 03:16:06
发布于 2023-11-13 03:16:06
1.4K0
举报

论文

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
AI代码解释
复制
library(tidyverse)
library(patchwork)

一个散点图

代码语言:javascript
AI代码解释
复制
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
AI代码解释
复制
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
AI代码解释
复制
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
AI代码解释
复制
( 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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
跟着BioRxiv学作图:R语言ggalluvial包绘制桑基图
https://www.biorxiv.org/content/10.1101/2022.08.29.505745v1
用户7010445
2023/01/06
2.5K0
跟着BioRxiv学作图:R语言ggalluvial包绘制桑基图
跟着Nature学作图:R语言ggplot2箱线图/堆积柱形图完整示例
https://www.nature.com/articles/s41586-022-04808-9#MOESM8
用户7010445
2023/01/06
2.3K0
跟着Nature学作图:R语言ggplot2箱线图/堆积柱形图完整示例
跟着Nature学作图:R语言ggplot2频率分布直方图/堆积柱形图/散点图
https://www.nature.com/articles/s41586-022-04808-9#MOESM8
用户7010445
2023/01/06
1.6K0
跟着Nature学作图:R语言ggplot2频率分布直方图/堆积柱形图/散点图
跟着Nature学作图:R语言ggplot2堆积柱形图完整示例
https://www.nature.com/articles/s41586-022-04664-7#Sec33
用户7010445
2023/01/06
5.6K0
跟着Nature学作图:R语言ggplot2堆积柱形图完整示例
跟着Nature学作图:R语言ggplot2簇状柱形图完整示例
https://www.nature.com/articles/s41586-022-04664-7#Sec33
用户7010445
2023/01/06
1.1K0
跟着Nature学作图:R语言ggplot2簇状柱形图完整示例
跟着Nature学作图:R语言ggplot2箱线图、小提琴图、抖动散点图
https://github.com/GRONINGEN-MICROBIOME-CENTRE/DMP
用户7010445
2022/05/23
6.6K0
跟着Nature学作图:R语言ggplot2箱线图、小提琴图、抖动散点图
ggplot2拓展功能:添加拟合公式(Equations, R2, BIC, AIC etc.)
Fit polynomial equation: Create some data: set.seed(4321) x <- 1:100 y <- (x + x^2 + x^3) + rnorm(length(x), mean = 0, sd = mean(x^3) / 4) my.data <- data.frame(x, y, group = c("A", "B"), y2 = y * c(0.5,2), block = c("a", "a", "b", "b")) Fit polynomial regression line and add labels: # Polynomial regression. Sow equation and adjusted R2 formula <- y ~ poly(x, 3, raw = TRUE) p <- ggplot(my.data, aes(x, y2, color = group)) + geom_point() + geom_smooth(aes(fill = group), method = "lm", formula = formula) + stat_poly_eq( aes(label = paste(..eq.label.., ..adj.rr.label.., sep = "~~~~")), formula = formula, parse = TRUE ) ggpar(p, palette = "jco")
拴小林
2020/11/04
6.2K0
ggplot2拓展功能:添加拟合公式(Equations, R2, BIC, AIC etc.)
24种R语言新手入门之箱线图(二)
箱线图一般用于可视化基因的表达情况,常化用统计学方法计算组间基因的表达差异情况。以下主要是用boxplot和geom_boxplot
生信初学者
2023/03/14
2.5K0
24种R语言新手入门之箱线图(二)
跟着Nature Communications学作图:R语言ggplot2气泡图组合水平柱形图完整示例
https://www.nature.com/articles/s41467-022-31724-3
用户7010445
2023/01/06
9290
跟着Nature Communications学作图:R语言ggplot2气泡图组合水平柱形图完整示例
跟着Nature学作图:R语言ggridges包绘制山脊图
https://github.com/GRONINGEN-MICROBIOME-CENTRE/DMP
用户7010445
2022/05/23
2.1K0
跟着Nature学作图:R语言ggridges包绘制山脊图
ggplot_Violin Plot & dot plot
小提琴图用于可视化数据的分布及其概率密度。它是箱式图和密度图的组合,密度图通过旋转放置在箱式图侧边,以显示数据的分布形状。小提琴图比箱形图显示更多的信息。主要是数据的分布,可以看出是双峰的还是多峰的
火星娃统计
2020/09/15
1.8K0
ggplot_Violin Plot & dot plot
跟着Nature学作图:R语言ggplot2箱线图/散点图完整示例
https://www.nature.com/articles/s41586-022-04808-9#MOESM8
用户7010445
2023/01/06
1.3K0
跟着Nature学作图:R语言ggplot2箱线图/散点图完整示例
ggplot2_boxplot
箱式图适用于连续变量的可视化展示,显示变量的四分位数,中位数、异常值等 同时箱式图可以预览两组之间的差异,为后续统计分析做准备
火星娃统计
2020/09/15
1.4K0
ggplot2_boxplot
ggplot2添加躺平版P_value
❝今天来主要介绍如何在常见的箱线图基础上水平添加显著性标记,也许恰好您正好有此特殊需求,希望对各位观众老爷有所帮助;下面来看具体案例; ❞ 加载R包 library(tidyverse) library(rstatix) library(ggprism) library(ggpubr) 定义主题 theme_niwot <- function(){ theme_test() + theme(axis.title.x = element_blank(), axis.line
R语言数据分析指南
2022/09/21
6880
ggplot2添加躺平版P_value
跟着Nature学作图:R语言ggplot2柱形图添加误差线和频率分布直方图
https://www.nature.com/articles/s41586-022-05275-y
用户7010445
2023/01/06
1.3K0
跟着Nature学作图:R语言ggplot2柱形图添加误差线和频率分布直方图
跟着Nature学作图:R语言ggplot2散点图和柱形图完整示例(Extended Fig3)
https://www.nature.com/articles/s41586-022-05275-y
用户7010445
2023/01/06
8370
跟着Nature学作图:R语言ggplot2散点图和柱形图完整示例(Extended Fig3)
ggplot2 核密度图和直方图
color, size, linetype: 同上 fill: 填充 alpha: 透明度
火星娃统计
2020/09/15
5.5K0
ggplot2 核密度图和直方图
ggplot2_散点图
geom_point():用于绘制散点图 参数 color:点的颜色 size:点的大小 shape :点的形状
火星娃统计
2020/09/15
1.9K0
ggplot2_散点图
R绘图笔记 | 二维散点图与统计直方图组合
前面介绍了散点图、柱状图、直方图和核密度估计图,有时候散点图不能很直观的看的出数据的分布情况,这里介绍散点图与统计直方图组合绘制。
DoubleHelix
2020/11/11
1.9K0
R绘图笔记 | 二维散点图与统计直方图组合
ggplot Stripchart and line
对于dot、scatter、stripchart,这三个图,有啥区别,我也看不懂,也没有相关的资料,后续用到再说吧
火星娃统计
2020/09/15
1.4K0
ggplot Stripchart and line
推荐阅读
相关推荐
跟着BioRxiv学作图:R语言ggalluvial包绘制桑基图
更多 >
领券
社区新版编辑器体验调研
诚挚邀请您参与本次调研,分享您的真实使用感受与建议。您的反馈至关重要,感谢您的支持与参与!
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场