ggplot2繪制火山圖
? ?

今天通過ggplot2來繪制火山圖,并且添加基因標(biāo)簽,代碼如下:
1.?下載所需要的R包
install.packages(“ggplot2”)
install.packages(“tidyverse”)
install.packages(“ggrepel”)
install.packages(“cowplot”)
2.?導(dǎo)入需要的R包
library(ggplot2)
library(tidyverse)
library(ggrepel)
library(cowplot)
3.?示例數(shù)據(jù)

4.代碼展示
#讀取數(shù)據(jù)
df <- read.csv("easy_input_limma.csv", header = T)
#判斷基因上調(diào)還是下調(diào)
df$group<-case_when(df$log2FC< -1 & df$PValue <0.05 ~"Down",
????????????????????df$log2FC > 1 & df$PValue <0.05 ~"Up",
????????????????????df$PValue >= 0.05 ~"no_signf",
????????????????????abs(df$log2FC)<= 1 ~"no_signf")
#確定上下調(diào)基因因子順序
df$group<-factor(df$group,levels=c("Up","Down","no_signf"))
#畫基因標(biāo)簽的候選基因篩選
df1<-filter(df,log2FC>9)
#ggplot2開始繪圖
ggplot(data=df,aes(x=log2FC,y=-log10(PValue)))+
geom_point(aes(color=group),
???????????size=4)+
#畫水平線
geom_hline(yintercept = -log10(0.05),
???????????linetype="dashed",
???????????color="grey30")+
#畫垂直線
geom_vline(xintercept = c(-1,1),
???????????linetype="dashed",
???????????color="grey30")+
#添加基因標(biāo)簽
geom_text_repel(data=df1,
????????????????aes(x= log2FC,y= -log10(PValue),label= gene_id))+
scale_color_manual(values = c("#FF9999","#99CC00","grey80"))+
theme_half_open()

? ? ??
