barplot(VADeaths,
col = NULL, #col: 設(shè)置條形底紋或者填充顏色。
border =par('fg'),#border:設(shè)置條形邊框顏色。如果設(shè)置為NA,則消除了邊緣
main = NULL, sub = NULL,
xlab = NULL,ylab = NULL, #xlab和ylab:設(shè)置x軸與y軸的lable
xlim = NULL, ylim = NULL, #xlim和ylim:設(shè)置圖形x軸與y軸的范圍。
beside = FALSE,#beside:邏輯參數(shù)。如果FALSE,那么將繪畫堆疊式的條形;如果是TRUE,將繪畫并列式條形。
horiz = FALSE, #horiz:邏輯參數(shù)。設(shè)置圖形是水平或是垂直
width = 1, #width:設(shè)置條形的寬度
space = NULL, #space:設(shè)置各個(gè)條形間的間隔寬度。相當(dāng)于各個(gè)條形寬度的一部分。
names.arg = NULL, #names.arg:設(shè)置條形標(biāo)簽(barlabels)。
#density 和 angle : 設(shè)置柱子用線條填充,density 控制線條的密度, angel 控制線條的角度
density = NULL, #density:底紋的密度。默認(rèn)值為NULL
angle =45, #angle:設(shè)置底紋的斜率
axes = TRUE, #axes:邏輯參數(shù)。設(shè)置圖形是否顯示坐標(biāo)軸。
las=1, #設(shè)置刻度值的方向, 0表示總是平行于坐標(biāo)軸;1表示總是水平方向;2表示總是垂直于坐標(biāo)軸;3表示總是垂直方向。
yaxt= 's', #是否繪制Y坐標(biāo)軸,s 繪制,n不繪制
axisnames = TRUE, #axisnames:邏輯參數(shù)。設(shè)置是否顯示x軸條形標(biāo)簽
cex.axis=par('cex.axis'),#cex.axis:設(shè)置坐標(biāo)軸數(shù)值的大小。
cex.names=par('cex.axis'), #cex.names: 設(shè)置條形標(biāo)簽(barlabels)的大小。
add = FALSE #add = “TRUE”將barplot加在目前已經(jīng)有的圖上
)
利用上面的barplot方法就可以完成如下柱狀圖繪制:

繪制上門這個(gè)物種分類柱狀圖,所用到的數(shù)據(jù)為:微生物多樣性的數(shù)據(jù),表示不同的微生物種類在不同的樣品中的相對豐度,以上柱狀圖就是用以下數(shù)據(jù)繪制:

以下是分享的代碼,可繪制上面漂亮的微生物分類柱狀圖,供大家參考:
#載入調(diào)色板包
require('RColorBrewer')
#讀取數(shù)據(jù)
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'))
#數(shù)據(jù)處理一下,以適合用barplot繪制柱狀圖
x<-x[order(x[,2],decreasing =T),]
a<-x[,2:ncol(x)]
rownames(a)<-x[,1]
t<-as.matrix(a)
#修改繪圖參數(shù),調(diào)整繪制滿意的柱狀圖
par(mar=c(18, 5, 4, 1.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 ')
#自定義坐標(biāo)軸
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))
#調(diào)整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)