前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Nature Plants学作图:R语言ggplot2甜甜圈图包裹饼图

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

作者头像
用户7010445
发布2024-04-03 20:33:55
1070
发布2024-04-03 20:33:55
举报

论文

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

因为论文中提供的数据需要手动整理成以上的格式,为了节省时间,我这边只整理一组数据

加载需要用到的R包

代码语言:javascript
复制
library(readxl)
library(scatterpie)
library(ggforce)
library(tidyverse)

读取数据

代码语言:javascript
复制
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()

作图代码

代码语言:javascript
复制
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")

最终效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文
  • 加载需要用到的R包
  • 读取数据
  • 作图代码
  • 最终效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档