論文
A global reptile assessment highlights shared conservation needs of tetrapods
https://www.nature.com/articles/s41586-022-04664-7#Sec33
數據代碼鏈接
https://github.com/j-marin/Global-reptile-assessment-
今天的推文學習一下推文中的Figure 3的簇狀柱形圖,沒有找到論文中的作圖代碼,但是找到了原始數據集,有了原始數據集就可以自己寫代碼來做這個圖
image.png
部分示例數據集
image.png
加載需要用到的R包
library(readxl)
library(ggplot2)
library(tidyverse)
library(patchwork)
Figure 3a
dat01<-read_excel("data/20220630/41586_2022_4664_MOESM4_ESM.xlsx",
sheet = "Fig 3a")
head(dat01)
dim(dat01)
dat01$Threat<-factor(dat01$Threat,
levels = dat01$Threat %>% unique())
ggplot(data=dat01,aes(x=Threat,y=n,fill=className))+
geom_bar(stat="identity",position = "dodge")+
theme_classic()+
geom_vline(xintercept = 5.5,lty="dashed")+
geom_vline(xintercept = 9.5,lty="dashed")+
annotate(geom = "text",x=2.5,y=0.9,label="Habitat destruction")+
annotate(geom = "text",x=7.5,y=0.9,label="Habitat change")+
annotate(geom = "text",x=11,y=0.9,label="Other")+
theme(legend.position = "bottom",
axis.text.x = element_text(angle=60,hjust = 1,vjust = 1),
legend.title = element_blank())+
labs(x=NULL,y="Species threatened (%)")+
scale_fill_manual(values = c("#936eaa","#401f51",
"#5f6798","#de6eaa"))+
scale_y_continuous(labels = function(x){x*100}) -> p1
p1
image.png
Figure 3b
和Figure 3a是一樣的,唯一的區別是配色不一樣
dat02<-read_excel("data/20220630/41586_2022_4664_MOESM4_ESM.xlsx",
sheet = "Fig 3b")
head(dat02)
dim(dat02)
dat02$Threat<-factor(dat02$Threat,
levels = dat02$Threat %>% unique())
ggplot(data=dat02,aes(x=Threat,y=n,fill=className))+
geom_bar(stat="identity",position = "dodge")+
theme_classic()+
geom_vline(xintercept = 5.5,lty="dashed")+
geom_vline(xintercept = 9.5,lty="dashed")+
annotate(geom = "text",x=2.5,y=0.9,label="Habitat destruction")+
annotate(geom = "text",x=7.5,y=0.9,label="Habitat change")+
annotate(geom = "text",x=11,y=0.9,label="Other")+
theme(legend.position = "bottom",
axis.text.x = element_text(angle=60,hjust = 1,vjust = 1),
legend.title = element_blank())+
labs(x=NULL,y="Species threatened (%)")+
scale_fill_manual(values = c("#4868af","#e41f24",
"#edb91d","#973692"))+
scale_y_continuous(labels = function(x){x*100}) -> p2
p2
image.png
最后是拼圖
p1/p2 + plot_annotation(tag_levels = "a")
image.png
image.png
論文中的figure4也是簇狀柱形圖,感興趣的可以自己試著復現一下
示例數據和代碼可以自己到論文中獲取,或者給本篇推文點贊,點擊在看,然后留言獲取
歡迎大家關注我的公眾號
小明的數據分析筆記本
小明的數據分析筆記本 公眾號 主要分享:1、R語言和python做數據分析和數據可視化的簡單小例子;2、園藝植物相關轉錄組學、基因組學、群體遺傳學文獻閱讀筆記;3、生物信息學入門學習資料及自己的學習筆記!