復(fù)現(xiàn)Nature medicine圖表---堆疊柱狀圖顯示每個樣本上下調(diào)差異基因

學(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ù)》,感謝支持!

最后編輯于
?著作權(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ù)。

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