基本简介
堆积柱状百分比图(Proportion stack bar chart)是在堆积柱状图的基础上增加了百分比,主要可以用来表示不同数据在所有数据中的占比情况。当数据呈现多组时,其可以对不同组数据下的同一类数据进行对比分析,从而确定数据分布情况。这种类型的图常被用于微生物组的科属等相对丰度的比较。在植物群落中,这种图也可用来比较不同区域/样地间不同科属占比情况。本案例中,我们使用模拟数据来进行绘制堆积柱状百分比图,和之前一样,依然用ggplot2包实现。
示例代码
#清除环境
rm(list=ls())
#加载相关的包
library(ggplot2)
library(ggthemes)
#设置工作路径
setwd("C:\\Users\\ASUS\\Desktop")
#读入数据
data<-read.csv("data.csv")
head(data)
ID为不同的数据ID,Group表示不同的分组。
#Group转换为因子,并排序
group = factor(data$Group,levels=unique(data$Group),order=TRUE)
#设置颜色
mycolors<-c("#CCFF00","#6495ED","#FFA500","#228B22","#FF4500")
#作图
ZM <- ggplot(data=data,aes(x=group,y=value,fill=ID)) +
geom_bar(stat="identity",position="fill") +
scale_fill_manual(values=mycolors)+
scale_y_continuous(expand = expansion(mult=c(0.01,0.02)),
labels = scales::percent_format())+
labs(x="Group",y="Relative Abundance",
fill=" ",title="")+
theme_bw()+
theme(axis.title.y=element_text(size=14))+
theme(legend.text=element_text(size=10))+
theme(axis.text.x = element_text(size = 12, color = "black"))+
theme(axis.text.y = element_text(size = 12, color = "black"))+
theme(axis.ticks.length=unit(0.3,"cm"))+
theme(axis.text.x=element_text(angle=45,vjust=1,hjust=1,size=11))
ZM
网友评论