暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言nature绘图系列5|条形图

622
点击关注了解更多哦

本文主要展示如何利用R语言绘制来自nature期刊ABO genotype alters the gut microbiota by regulating GalNAc levels in pigs(Hui Yang, et al,2022)[1]一文中的Extended Data Fig.2a。该图形式为条形图,用于展示微生物群数量。如下图所示:

1、图形绘制

library(dplyr)
library(ggplot2)

ED.fig2 <- read.table("core_OTUs_annotation_result.txt",header = TRUE )
ED.fig2$level <- factor(ED.fig2$level, levels = c("order""family""genus" ))

ED.fig2 <- ED.fig2 %>% group_by(level) %>% arrange(level, -number) %>% ungroup() as.data.frame() #分组降序
ED.fig2$taxa <- factor(ED.fig2$taxa, levels = ED.fig2$taxa)
ED.fig2 
#                    taxa number  level
#1          Bacteroidales      6  order
#2          Clostridiales      3  order
#3        Ruminococcaceae      7 family
#4        Lachnospiraceae      6 family
#5                   RF16      2 family
#6         Clostridiaceae      1 family
#7       Mogibacteriaceae      1 family
#8                  S24-7      1 family
#9        Parabacteroides      7  genus
#10          Oscillospira      6  genus
#11            Prevotella      5  genus
#12         Sphaerochaeta      4  genus
#13           Bacteroides      1  genus
#14                 CF231      1  genus
#15               p-75-a5      1  genus
#16 Phascolarctobacterium      1  genus
#17             Roseburia      1  genus
#18                 SMB53      1  genus
#19             Treponema      1  genus
#20          Turicibacter      1  genus
#21                 YRC22      1  genus

# 绘图
ggplot(ED.fig2, aes(number, taxa, fill = level)) + 
  geom_col() + 
  geom_text(aes(label = number), hjust = -0.5, size = 4.5)  + 
  theme_bw() + 
  scale_fill_manual(values = c("#F7931E","#0170BB""#019244")) + 
  scale_x_continuous(expand = c(0.02, 0), limits = c(0,7.5)) + 
  theme(panel.grid = element_blank(), 
        legend.position = c(0.99, 0.99), 
        plot.title = element_text(size = 18, hjust = 0.5),
        legend.justification = c(1,1),
        legend.text = element_text(size = 12),
        legend.title = element_text(size = 15), 
        axis.ticks = element_line(size = 2), 
        #axis.ticks.length = unit(0.1,"cm"),
        axis.title.y = element_blank(), 
        axis.title.x = element_text(size = 15),
        axis.text.y = element_text(angle = -30, vjust  = 1), 
        axis.text = element_text(size = 12, colour = "black")) + 
  labs(x = "Number of share core otu", title = "OTU Annotation")

该图的一个关键点在于,虽然该图按number顺序进行升序排序,不过是在不同因子内部进行升序排序。此处用到了dplyr包中的函数对数据进行了预处理,对数据进行了分组排序,从而实现了图中所呈现的数据顺序。关于分组排序具体可进一步阅读推文R数据分析|分组排序

2、其他

其他绘图方法可进一步阅读公众号其他文章。


如有帮助请多多点赞哦!

参考资料

[1]

Yang, H., Wu, J., Huang, X. et al. ABO genotype alters the gut microbiota by regulating GalNAc levels in pigs. Nature 606, 358–367 (2022). : https://doi.org/10.1038/s41586-022-04769-z


文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论