點擊藍字↑↑↑「微生態」,輕鬆關注不迷路
本文由阿童木根據實踐經驗而整理,希望對大家有幫助。
原創微文,歡迎轉發轉載。
ggplot2函數包ggplot函數geom_bar參數畫柱形圖。主要方法:利用apply(df, FUN=sum)求和;利用df[order(df$sum,decreasing=T),]倒序;利用scale_x_discrete(limits=factor())設置橫軸排序;下面有隨機數據繪製柱形圖。
一、 輸入數據代碼:
set.seed(1995)
# 隨機種子
data=matrix(abs(round(rnorm(100, mean=1000, sd=500))), 10, 10)
# 隨機正整數,20行,20列
colnames(data)=paste("Sample", 1:10, sep=".")
# 列名-細菌
rownames(data)=paste("Bin", 1:10, sep=".")
圖1
二、求和、排序
參數:
apply(df, n, FUN=sum)
n=1按行求和
n=2按列求和
代碼:sum=apply(data, 1, sum) # 求和
bin=rownames(data) # 提取列名
data_sum=data.frame(bin, sum) # 新建數據框
data_sum=data_sum[order(data_sum$sum, decreasing=T),] # 倒序
代碼:
library(ggplot2)
ggplot(data_sum, aes(x=bin, y=sum)) +
geom_bar(stat="identity", fill="blue")+
labs(x="", y="Bin abundance")+
scale_y_continuous(expand=c(0, 0))+
# 調整y軸屬性
scale_x_discrete(limits=factor(data_sum[,1])) +
# 設第一列為因子,不排序
theme(axis.text.x=element_text(angle=45, hjust=1)) +
# angle:調整橫軸標籤傾斜角度
theme(panel.grid=element_blank(), panel.background=element_rect(color='black', fill='transparent'))
# 調整背景
圖3
四、設置顏色和圖例
代碼:
ggplot(data_sum, aes(x=bin, y=sum, fill=bin)) +
geom_bar(stat="identity")+
labs(x="", y="Bin abundance", fill="Bin ID")+
scale_y_continuous(expand=c(0, 0))+
# 調整y軸屬性
scale_x_discrete(limits=factor(data_sum[,1])) +
# 設第一列為因子,不排序
theme(axis.text.x=element_text(angle=45, hjust=1)) +
# angle:調整橫軸標籤傾斜角度
theme(panel.grid=element_blank(), panel.background=element_rect(color='black', fill='transparent'))
圖4
你可能還喜歡
1 技術貼 | 16S專題 | 簡單介紹如何用自己的筆記本處理高通量16S數據
2 技術貼 | 宏基因組專題 | 組裝工具盤點和比較
3 技術貼 | R語言菌群Alpha多樣性分析和繪圖
4 技術貼 | 宏轉錄組專題 | DDBJ資料庫:宏轉錄組測序數據下載
5 技術貼 | R語言pheatmap聚類分析和熱圖
微生態科研學術群期待與您交流更多微生態科研問題
(聯繫微生態老師即可申請入群)
了解更多菌群知識,請關注「微生態」。