1. 程式人生 > >使用R語言畫火山圖詳細步驟

使用R語言畫火山圖詳細步驟

1.匯入資料包:

library(ggplot2)

2.讀取csv檔案:
data=read.table(file="c:\\PPV-vs-PPV_TVMV.csv",header=T,row.names=1,sep=",")

3.設定橫軸和縱軸

r03=ggplot(data,aes(log2FoldChange,-1*log10(pvalue)))

4.顯示火山圖
r03+geom_point()

5.改變點的顏色

5.1設定火山圖點的顏色(只能設定一種)
r03 +geom_point(aes(color ="red"))    //新增標註
5.2設定火山圖點的顏色(顏色種類由significant來確定,significant是資料表中的一列,相當於一個tag)
      r03 + geom_point(aes(color =significant))
      addcolor=r03 + geom_point(aes(color =significant))
      addcolor

6.設定座標軸範圍和標題 #橫座標範圍:xlim(),縱座標範圍:ylim()函式,新增標籤:labs(title=“..”,x=“..”,y=“..”)函式r03xy=addcolor+xlim(-4,4)+ ylim(0,30)+ labs(title="Volcanoplot",x=expression(log2(log2FoldChange)),y=expression(-log10(pvalue)))

 r03xy


7.自定義顏色(要與指定顏色數量一致)
volcano= r03xy +scale_color_manual(values =c("green","black", "red"))
volcano

8.新增閾值線(y軸截距,橫座標範圍)
addline=volcano+geom_hline(yintercept=1.3)+geom_vline(xintercept=c(-1,1))
addline

9.儲存圖片(名稱,圖,寬,高):
ggsave("volcano8.png",volcano,width=8,height=8)



第二種(沒有第一種圖好看):
導包
library(ggplot2)
讀資料
data=read.table(file="c:\\PPV-vs-PPV_TVMV.csv",header=T,row.names=1,sep=",")
設定閾值
threshold<-as.factor((data$log2FoldChange>1 | data$log2FoldChange < -1) & data$pvalue < 0.01)
畫圖
ggplot(data,aes(log2FoldChange,-1*log10(pvalue),colour=threshold))+geom_point()