- 跟着Nature microbiology学作图:R语言ggpl
- 跟着Nature Microbiology学作图:R语言ggpl
- 跟着Nature Microbiology学作图:R语言ggpl
- 跟着Nature microbiology学画图~R语言ggpl
- 跟着Nature microbiology学画图~R语言ggpl
- 跟着Nature microbiology学画图~R语言ggpl
- 跟着Nature microbiology学画图~R语言ggpl
- 跟着Nature microbiology学画图~R语言ggpl
- 跟着GlobalChangeBiology学作图:R语言ggpl
- 跟着Nature Communications学作图:R语言gg
论文
A high-quality genome compendium of the human gut microbiome of Inner Mongolians
https://www.nature.com/articles/s41564-022-01270-1
2023Naturemicrobiology--Ahigh-qualitygenomecompendiumofthehumangutmicrobiomeofInnerMongolians4.pdf
论文中大部分作图数据都有,争取把论文中的图都复现一下
今天的推文我们试着复现一下论文中的Figure2d
![](https://img.haomeiwen.com/i6857799/c4a2f0297133e2a2.png)
部分示例数据截图
![](https://img.haomeiwen.com/i6857799/e2c4ab5b740a229d.png)
数据预处理
将数据分成两个部分,一个部分用于话朝左的柱形图,一个部分用于画朝右的堆积柱形图
library(tidyverse)
library(readxl)
dat<-read_excel("data/20230305/41564_2022_1270_MOESM5_ESM.xlsx",
sheet = "Fig2d")
dat %>% colnames()
dat %>%
filter(Species != "Escherichia coli_D") %>%
mutate(IMGG_MIMAG_HQ=-IMGG_MIMAG_HQ) %>%
select(IMGG_MIMAG_HQ,Species) -> dat.01
head(dat.01)
dim(dat.01)
dat %>%
filter(Species != "Escherichia coli_D") %>%
select(UHGG_isolate_MIMAGHQ_genome,
UHGG_MAG_MIMAGHQ_genome,
Species) %>%
pivot_longer(!Species) -> dat.02
作图代码
这里图例的处理方式是单独构造一个画图例的数据作图,然后在图中把图例提取出来插入到完整的图中
legend.df<-data.frame(group=c("A","B","D"),
x=1,
y=c(1,1,1))
ggplot(data=legend.df,aes(x=x,y=y))+
geom_bar(aes(fill=group),stat="identity")+
scale_fill_manual(values = c("#61ab97","#7c9bc7","#a2c0d9"),
labels=c("IMGG HQ-MIMAG",
"UHGG HQ-MIMAG (isolate)",
"UHGG HQ-MIMAG (MAG)"),
name=NULL)+
theme(legend.background = element_rect(fill="transparent"))-> legend.p
ggpubr::get_legend(legend.p)
ggplot()+
geom_col(data=dat.01,
aes(x=IMGG_MIMAG_HQ,y=Species),
fill="#61ab97")+
geom_bar(data=dat.02,
aes(x=value,y=Species,
fill=name),
stat="identity")+
scale_fill_manual(values = c("#7c9bc7","#a2c0d9"))+
theme_bw()+
theme(panel.grid = element_blank(),
legend.position = "none")+
scale_x_continuous(breaks = c(-100,0,100,200),
labels=c(100,0,100,200))+
labs(x="Number of genomes",y=NULL)+
annotation_custom(grob = ggpubr::get_legend(legend.p),
xmin = 120,xmax = 120,
ymin = 30,ymax=30) -> p1
p1
![](https://img.haomeiwen.com/i6857799/66598a06140d427c.png)
然后是顶部的图
dat %>%
filter(Species == "Escherichia coli_D") %>%
select(-MAG_ID,-Total) %>%
pivot_longer(!Species) %>%
ggplot(aes(x=value,y=Species,fill=name))+
geom_bar(stat="identity")+
scale_fill_manual(values = rev(c("#61ab97","#7c9bc7","#a2c0d9")))+
theme_bw()+
theme(legend.position = "none",
panel.grid = element_blank())+
labs(x=NULL,y=NULL) -> p2
p2
最后将两个图拼到一起
library(patchwork)
p2+p1+
plot_layout(ncol = 1,heights = c(1,49))
![](https://img.haomeiwen.com/i6857799/48cb2fa7c7c2d610.png)
![](https://img.haomeiwen.com/i6857799/8445c6d889ef2091.png)
推文记录的是自己的学习笔记,内容可能会存在错误,请大家批判着看,欢迎大家指出其中的错误
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
网友评论