绘出后的图如下:
首先设立一个工作文件夹,里面放数据输入文件,格式如图
####下面是有关代码
inputFile="input.txt" #输入
outFile="barplot.pdf" #输出
#读取文件,整理
data=read.table(inputFile,sep="\t",header=T,row.names=1,check.names=F)
data=t(data)
col=rainbow(nrow(data),s=0.7,v=0.7)
#绘制
pdf(outFile,height=10,width=20)
par(las=1,mar=c(8,5,4,16),mgp=c(3,0.1,0),cex.axis=1.5)
a1=barplot(data,col=col,yaxt="n",ylab="Relative Percent",xaxt="n",cex.lab=1.8)
a2=axis(2,tick=F,labels=F)
axis(2,a2,paste0(a2*100,"%"))
axis(1,a1,labels=F)
par(srt=60,xpd=T);text(a1,-0.02,colnames(data),adj=1,cex=0.6);par(srt=0)
ytick2 = cumsum(data[,ncol(data)])
ytick1 = c(0,ytick2[-length(ytick2)])
legend(par('usr')[2]*0.98,par('usr')[4],legend=rownames(data),col=col,pch=15,bty="n",cex=1.3)
dev.off()
#########################
下面有演示代码和演示用的数据文件
链接:https://pan.baidu.com/s/1UMghHyjmg3QLThK34TrZHw
提取码:qe9p
--来自百度网盘超级会员V4的分享