Heritable microbiome variation is correlated with source environment in locally adapted maize varieties
https://www.nature.com/articles/s41477-024-01654-7
论文中提供了作图用到的原始数据,我们可以试着用原始数据复现论文中的图,今天的推文我们来模仿一下论文中的figure2a
image.png
我的思路是用scatterpie这个R包来做,首先画一个大的饼图,然后画一个稍微小一点的圆,再画一个稍微小一点的饼图就能够实现上图的效果,画圆用到的是ggforce这个R包里的
数据整理成如下格式
image.png
因为论文中提供的数据需要手动整理成以上的格式,为了节省时间,我这边只整理一组数据
library(readxl)
library(scatterpie)
library(ggforce)
library(tidyverse)
read_excel("data/20240322/41477_2024_1654_MOESM5_ESM.xlsx",
sheet = "Sheet1") %>%
mutate(x=1:4,
y=c(0.12,0.1,0.22,0.14)) -> dat01
dat01
read_excel("data/20240322/41477_2024_1654_MOESM5_ESM.xlsx",
sheet = "Sheet2") %>%
mutate(x=1:4,
y=c(0.12,0.1,0.22,0.14)) -> dat02
dat02 %>% colnames()
ggplot()+
geom_scatterpie(data = dat01,
aes(x=x,y=y,group=Taxa_Treatment,r=Nt/200),
cols = c("G_best(%)","EC_best(%)","G+EC_best(%)"))+
scale_fill_manual(values = c("#deebf7","#9ecae1","#3182bd"),
name=NULL)+
ggnewscale::new_scale_fill()+
geom_circle(data = dat02,
aes(x0=x,y0=y,r=Nt/350),
fill="white")+
geom_scatterpie(data = dat02,
aes(x=x,y=y,group=Taxa_Treatment,r=Nt/400),
cols = c("0.3>PA>0.1(%)","0.5>PA>0.3(%)",
"PA>0.5(%)","PA<0.1(%)"))+
scale_fill_manual(values = c("#e5f5e0","#a1d99b","#31a354","#bebebe"),
name=NULL)+
coord_equal()+
theme_bw()+
theme(panel.grid = element_blank(),
legend.box = "horizontal",
legend.direction = "vertical",
legend.position = "top",
legend.justification = "left")