學習單細胞文章的時候,看到NM上一篇文章差異基因的顯示方法。
image.png
圖形如下:
image.png
先解釋下這樣展示的意義(舉例可能并不是很恰當):假設我們需要研究某個細胞群分為兩個亞群,想要看這兩個亞群之間的差異基因變化情況,就可以使用這種方法。先計算每個樣本中這兩群細胞的差異基因,再將所有樣本合并,找出需要關注的基因,就可以作圖了。
因為我們演示數據并沒有涉及這樣的意義,所以偷懶用了不同群細胞的差異基因構建了用來演示的示例數據。圖形本身是柱狀圖,而且是堆疊柱狀圖。那么作圖需要以下因素,首先是縱坐標的LogFC,橫坐標的基因名,還有分組。具體的數據形式如下(差異基因篩選不再贅述):
image.png
接下來用ggplot作圖即可,為了讓基因排列按照我們拍好的順序,將其轉化為因子排序,這樣作圖顯示基因名順序就不會變了。
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
這樣就完成了,就是一摸一樣有沒有?解鎖新的數據展示,快嘗試下吧。想要示例數據的小伙伴可以到我的公眾號《KS科研分享與服務》,感謝支持!