這篇文章給大家分享的是有關(guān)如何利用R語言的ggplot2包繪制GO富集柱形圖的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為通化等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及通化網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、通化網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
一 載入數(shù)據(jù)集和R包
利用各種生信工具得到富集分析結(jié)果,數(shù)據(jù)列可能不一致,但關(guān)鍵幾列都有。
library(ggplot2)data <- read.csv("GO_enrichment_significant.csv",header=TRUE)head(data)
二 對上述GO結(jié)果繪制基礎(chǔ)bar圖
參照之前ggplot2使用方法,更改geom即可繪制簡單的bar圖,按照GO_category分組顏色
ggplot(data=data, aes(x=GO_term,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) + geom_bar(stat="identity", width=0.8)
可看出和文獻(xiàn)中的差距較大,體現(xiàn)在以下幾個方面:
A:標(biāo)題,坐標(biāo)軸“業(yè)余”;
B:GO_category順序未按照輸入文件,相同GO_category沒在一起;
C:橫坐標(biāo)label太長,重疊在一起。
三 “細(xì)節(jié)”調(diào)整GO結(jié)果bar圖
3.1 坐標(biāo)軸調(diào)整策略
#將GO_term設(shè)定為factor即可按照順序輸出GO_term_order=factor(as.integer(rownames(data)),labels=data$GO_term)ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) + geom_bar(stat="identity", width=0.8) + coord_flip() + xlab("GO term") + ylab("Num of Genes") + theme_bw()
好像有一點能看了,嘗試其他策略。
3.2 調(diào)整橫坐標(biāo)label策略
將label調(diào)整成一定角度傾斜
COLS <- c("#66C3A5", "#8DA1CB", "#FD8D62")ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) + geom_bar(stat="identity", width=0.8) + scale_fill_manual(values = COLS) + theme_bw() + xlab("GO term") + ylab("Num of Genes") + labs(title = "The Most Enriched GO Terms")+ theme(axis.text.x=element_text(face = "bold", color="gray50",angle = 70,vjust = 1, hjust = 1 ))
嗯 ,標(biāo)簽太長溢出,采取保留GO-term的前三個單詞(可以其他策略)后面...代替,可以excel或者R function 解決。
3.3 調(diào)整label長度后繪圖
GO_term_order=factor(as.integer(rownames(data)),labels=labels)
COLS <- c("#66C3A5", "#8DA1CB", "#FD8D62")
ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) +
geom_bar(stat="identity", width=0.8) +
scale_fill_manual(values = COLS) + theme_bw() +
xlab("GO term") + ylab("Num of Genes") + labs(title = "The Most Enriched GO Terms")+ theme(axis.text.x=element_text(face = "bold", color="gray50",angle = 70,vjust = 1, hjust = 1 ))
感謝各位的閱讀!關(guān)于“如何利用R語言的ggplot2包繪制GO富集柱形圖”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!