學(xué)習(xí)單細(xì)胞文章的時候,看到NM上一篇文章差異基因的顯示方法。

image.png
圖形如下:

image.png
先解釋下這樣展示的意義(舉例可能并不是很恰當(dāng)):假設(shè)我們需要研究某個細(xì)胞群分為兩個亞群,想要看這兩個亞群之間的差異基因變化情況,就可以使用這種方法。先計算每個樣本中這兩群細(xì)胞的差異基因,再將所有樣本合并,找出需要關(guān)注的基因,就可以作圖了。
因為我們演示數(shù)據(jù)并沒有涉及這樣的意義,所以偷懶用了不同群細(xì)胞的差異基因構(gòu)建了用來演示的示例數(shù)據(jù)。圖形本身是柱狀圖,而且是堆疊柱狀圖。那么作圖需要以下因素,首先是縱坐標(biāo)的LogFC,橫坐標(biāo)的基因名,還有分組。具體的數(shù)據(jù)形式如下(差異基因篩選不再贅述):

image.png
接下來用ggplot作圖即可,為了讓基因排列按照我們拍好的順序,將其轉(zhuǎn)化為因子排序,這樣作圖顯示基因名順序就不會變了。
diff <- read.csv("diff.csv",header = T,row.names = 1)
library(ggplot2)
library(forcats)
diff$gene <- as.factor(diff$gene )
diff$gene <- fct_inorder(diff$gene
先做一個基本的柱狀圖。
ggplot()+
geom_bar(data=diff,
aes(x=avg_log2FC,y=gene,fill=cluster),
stat="identity",
colour = "grey50")#柱子邊框顏色

image.png
接下來,改變主題,圖形方向,填充顏色即可。
ggplot()+
geom_bar(data=diff,
aes(x=avg_log2FC,y=gene,fill=cluster),
stat="identity",
colour = "grey50")+
scale_fill_manual(values = c("#2271b6","#6bafd6",
"#9ecbe2","#fd9272","#fee1d3"))+
theme_bw()+
labs(x="Cumulative avg. logFC",y="Gene expression")+
coord_flip()+
theme(axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))#X軸

image.png
這樣就完成了,就是一摸一樣有沒有?解鎖新的數(shù)據(jù)展示,快嘗試下吧。想要示例數(shù)據(jù)的小伙伴可以到我的公眾號《KS科研分享與服務(wù)》,感謝支持!