打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R语言绘图-柱状图barplot

R 语言柱状图绘制,采用的方法为barplot,可以帮助我们绘制漂亮的柱状图,其详细的绘图参数注解如下:

barplot(VADeaths, 
        col = NULL#col: 设置条形底纹或者填充颜色。
        border =par('fg'),#border:设置条形边框颜色。如果设置为NA,则消除了边缘
        main = NULL, sub = NULL
        xlab = NULL,ylab = NULL#xlab和ylab:设置x轴与y轴的lable
        xlim = NULL, ylim = NULL,  #xlim和ylim:设置图形x轴与y轴的范围。

        beside = FALSE,#beside:逻辑参数。如果FALSE,那么将绘画堆叠式的条形;如果是TRUE,将绘画并列式条形。
        horiz = FALSE#horiz:逻辑参数。设置图形是水平或是垂直

        width = 1#width:设置条形的宽度
        space = NULL#space:设置各个条形间的间隔宽度。相当于各个条形宽度的一部分。
        names.arg = NULL,  #names.arg:设置条形标签(barlabels)。


        #density 和 angle : 设置柱子用线条填充,density 控制线条的密度, angel 控制线条的角度
        density = NULL,  #density:底纹的密度。默认值为NULL
        angle =45,  #angle:设置底纹的斜率


        axes = TRUE#axes:逻辑参数。设置图形是否显示坐标轴。
        las=1,            #设置刻度值的方向,  0表示总是平行于坐标轴;1表示总是水平方向;2表示总是垂直于坐标轴;3表示总是垂直方向。

        yaxt= 's'#是否绘制Y坐标轴,s 绘制,n不绘制

        axisnames = TRUE#axisnames:逻辑参数。设置是否显示x轴条形标签
        cex.axis=par('cex.axis'),#cex.axis:设置坐标轴数值的大小。
        cex.names=par('cex.axis'), #cex.names: 设置条形标签(barlabels)的大小。

        add = FALSE #add = “TRUE”将barplot加在目前已经有的图上

)

利用上面的barplot方法就可以完成如下柱状图绘制:

绘制上门这个物种分类柱状图,所用到的数据为:微生物多样性的数据,表示不同的微生物种类在不同的样品中的相对丰度,以上柱状图就是用以下数据绘制:

以下是分享的代码,可绘制上面漂亮的微生物分类柱状图,供大家参考:

#载入调色板包
require('RColorBrewer')


#读取数据
x<-read.table('new_tax_abundance.txt',sep='\t',header = TRUE,check.names=FALSE,comment.char='@')

#获取组合颜色
mycol<-c(brewer.pal(9'Set1'),brewer.pal(12'Paired'),brewer.pal(12'Set3'))

#数据处理一下,以适合用barplot绘制柱状图
x<-x[order(x[,2],decreasing =T),]
a<-x[,2:ncol(x)]
rownames(a)<-x[,1]
t<-as.matrix(a)


#修改绘图参数,调整绘制满意的柱状图

par(mar=c(18541.1))
p<-barplot(t,main='abundance',xaxs='i',ylim=c(0,1),axisnames=F,border = NA ,space=0.05,col=mycol[1:nrow(t)],ylab='Relative abundance ')
#自定义坐标轴
axis(side=1,p,labels=F)
labs <- colnames(t)
text(cex=1, x=p-0.25, y=-0.05, labs, xpd=TRUE, srt=45,adj=c(1,1))
#调整legend位置
box(bty='l')
legend('bottom',ncol=3,xpd=T,bty = 'n',rownames(t),fill=mycol[1:nrow(t)],inset=c(0,-0.75),cex=1)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Barplot画图参数详解
R语言基础绘图包
R语言(绘图入门)
R极简教程
R中设置图形参数
R语言学习笔记 【转】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服