ggplot2繪製火山圖例項
# 程式:R
library(ggplot2)
data <-read。csv(“
volcano。txt
”,sep = “\t”,stringsAsFactors = F)
# 新增需要新增文字的點,預設為空
data$label <-‘’
# 將有顯著性差異並且表達倍差大於2的挑選出來,將其label賦值為id號
data$label
[data$padj < 0。05 & data$significant != “Unchanged”] <- data$id[data$padj < 0。05 & data$significant != “Unchanged”]
##############ggplot2作圖並儲存
volcano <- ggplot(data,aes(log2FoldChange,-1*log10(padj)))+
geom_point(aes(color = significant),size = 3) +
# geom_jitter(aes(color = significant),alpha=0。4)+
# 點新增標籤
geom_text(aes(label = label,color = significant), size = 3,vjust=-0。5, alpha=0。4) +
# 座標軸名稱
labs(x = expression(log[2](Ratio)), y = expression(-log[10](FDR))) +
scale_color_manual(values = c(“green”, “red”, “black”)) +
# log10(0。5)~1。3
geom_hline(yintercept = 1。3, linetype = 4) +
# log2(2)=1,log2(0。5)=-1
geom_vline(xintercept = c(-1, 1), linetype = 4) + ylim(0, 15) +xlim(-5,5)
ggsave(“
volcano。png
”,volcano)
效果圖如下:
案例資料移步:volcano。text