溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何利用ggplot2進行火山圖的繪制

發(fā)布時間:2022-03-18 15:07:54 來源:億速云 閱讀:427 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)如何利用ggplot2進行火山圖的繪制的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

利用ggplot2進行火山圖的繪制

ggplot2包繪制火山圖
加載R包以及案例數(shù)據(jù)temp1

 library('ggplot2')
 head(temp1,10)
       -log10FDR      logFC Regulate
64170   1.971938 -2.2884388     Down
6674    1.864104 -1.2460804     Down
7401    1.864104  1.2950939       Up
57217   1.864104 -1.2676311     Down
50613   1.801074  1.6640064       Up
3433    1.801074  4.2696415       Up
54830   1.801074 -1.9012811     Down
54886   1.801074 -1.5446208     Down
6355    1.801074  1.4273926       Up
338324  1.801074  0.9592775   Normal

數(shù)據(jù)解釋: 數(shù)據(jù)框temp1,行名為GeneID,第一列為-log10FDR,數(shù)據(jù)愈大,該基因變化為顯著,第二列為logFC,實際表示log2FC,為差異變化倍數(shù),第三列為上下調(diào)信息,基于第一列和第二列的信息的閾值進行篩選獲得,需要給這一列信息進行設(shè)置,設(shè)置為有序因子,方便后續(xù)圖片顏色設(shè)置

temp1$Regulate=factor(temp1$Regulate, levels=c("Up","Down","Normal"), order=T)

繪圖,繪制成點圖

P_volcano=ggplot(temp1,aes(x=temp1$logFC,y=temp1[,"-log10FDR"]))+
            geom_point(aes(color=temp1$Regulate))+

            #設(shè)置點的顏色
            scale_color_manual(values =c("Up" = "red", "Down" = "blue", "Normal" = "grey"))+
            labs(x="log2FC",y="-log10FDR")+

            #增加閾值線:分別對應(yīng)FDR=0.05,|log2FC|=1
            geom_hline(yintercept=-log10(0.05),linetype=4)+
            geom_vline(xintercept=c(-1,1),linetype=4)+
            xlim(-5,5)+
            theme(plot.title = element_text(size = 25,face = "bold", vjust = 0.5, hjust = 0.5),
                    legend.title = element_blank(),
                    legend.text = element_text(size = 18, face = "bold"),
                    legend.position = 'right',
                    legend.key.size=unit(0.8,'cm'),
                    axis.ticks.x=element_blank(),
                    axis.text.x=element_text(size = 15,face = "bold", vjust = 0.5, hjust = 0.5),
                    axis.text.y=element_text(size = 15,face = "bold", vjust = 0.5, hjust = 0.5),
                    axis.title.x = element_text(size = 20,face = "bold", vjust = 0.5, hjust = 0.5),
                    axis.title.y = element_text(size = 20,face = "bold", vjust = 0.5, hjust = 0.5),
                    panel.background = element_rect(fill = "transparent",colour = "black"),
                    panel.grid.minor = element_blank(),
                    panel.grid.major = element_blank(),
                    plot.background = element_rect(fill = "transparent",colour = "black"))
P_volcano

感謝各位的閱讀!關(guān)于“如何利用ggplot2進行火山圖的繪制”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI