R繪制堆積柱形圖

前面給大家講了?【R語言】百分比表格刪除兩行重新計算百分比,有小伙伴對文中的兩個堆積柱形圖比較感興趣。那么今天我們就來聊聊這兩張圖是如何繪制出來了。

我們還是以?【R語言】百分比表格刪除兩行重新計算百分比中的數(shù)據(jù)為例

#讀入數(shù)據(jù)
a <- read.table(file="sample_bacteria_percentage.txt",sep="\t",header=T,row.names=1)
#生成png圖片,刪除之前的堆積柱形圖
png(file="before.png",width=560,height=400)
#設(shè)置圖片右邊空白寬度,稍微寬一些,可以放置圖注
par(mar=c(5,4,4,10))
#繪制堆積柱形圖,樣本名字垂直擺放,利用rainbow生成20種顏色
barplot(as.matrix(a),las=2,col=rainbow(20))
#圖注擺放在右邊,
legend("right",legend=rownames(a),
       xpd=T,  #放置到右邊的空白處
       pch=20, #方形小圖標(biāo)
       inset = c(-0.35, 0),   #水平微調(diào)
       col=rainbow(20),  #顏色
       bty="n"  #圖注不要邊框
)
dev.off()


#刪除前兩行
b=a[-(1:2),]
#利用apply函數(shù)對列做處理,除以每列之和
result <- apply(b,2,function(x)x/(sum(x))*100)

#檢查每列之和是不是100%
colSums(result)
#數(shù)據(jù)導(dǎo)出
write.table(result,file="remove_recal_percent1.txt",sep="\t",quote=F)

#生成png圖片,刪除之后的堆積柱形圖
png(file="after.png",width=540,height=400)
#設(shè)置圖片右邊空白寬度,稍微寬一些,可以放置圖注
par(mar=c(5,4,4,10))
#繪制堆積柱形圖,樣本名字垂直擺放,利用rainbow生成20種顏色
barplot(as.matrix(result),las=2,col=rainbow(20))
#圖注擺放在右邊,
legend("right",legend=rownames(result),
       xpd=T,  #放置到右邊的空白處
       pch=20, #方形小圖標(biāo)
       inset = c(-0.25, 0),   #水平微調(diào)
       col=rainbow(20),   #顏色
       bty="n"   #圖注不要邊框
)
dev.off()

就可以得到如下兩張突擊柱形圖

刪除行之前

刪除行之后

參考R繪制堆積柱形圖 獲取“all_pool_species_sample.txt”文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容