跟着Nature Plants学作图:R语言ggplot2甜甜圈图包裹饼图

论文

Heritable microbiome variation is correlated with source environment in locally adapted maize varieties
https://www.nature.com/articles/s41477-024-01654-7
论文中提供了作图用到的原始数据,我们可以试着用原始数据复现论文中的图,今天的推文我们来模仿一下论文中的figure2a

图片


我的思路是用scatterpie这个R包来做,首先画一个大的饼图,然后画一个稍微小一点的圆,再画一个稍微小一点的饼图就能够实现上图的效果,画圆用到的是ggforce这个R包里的
数据整理成如下格式

image.png
因为论文中提供的数据需要手动整理成以上的格式,为了节省时间,我这边只整理一组数据
加载需要用到的R包

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”)
最终效果

image.png
这里如何再添加一个图例用来表示不同的直径的数值,暂时没有想明白
欢迎大家关注我的公众号
小明的数据分析笔记本

小明的数据分析笔记本
分享R语言和python在生物信息领域做数据分析和数据可视化的简单小例子;偶尔会分享一些组学数据处理相关的内容
768篇原创内容
公众号
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
微信公众号好像又有改动,如果没有将这个公众号设为星标的话,会经常错过公众号的推文,个人建议将 小明的数据分析笔记本 公众号添加星标,添加方法是 点开公众号的页面,右上角有三个点

点击三个点,会跳出界面

直接点击

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/414414.html

(0)
联系我们
联系我们
分享本页
返回顶部