# 设置工作目录==================================
rm(list=ls()) # 清空暂存数据
setwd("D:\RStudio\project\volcano") # 设置工作目录
#加载所用的包
library(ggplot2)
library(ggrepel)
#导入数据集
Data<-read.table('./data_volcano.txt',header = T,stringsAsFactors = F,check.names = F,sep=' ')
#确定是上调还是下调,用于给图中点上色)
Data$threshold = factor(ifelse(Data$padj < 0.05 & abs(Data$log2FoldChange) >= 1, ifelse(Data$log2FoldChange>= 1 ,'Up','Down'),'NoSignifi'),levels=c('Up','Down','NoSignifi'))
# 绘制火山图====================================
ggplot(Data,aes(x=log2FoldChange,y=-log10(padj),color=threshold))+
geom_point()+
scale_color_manual(values=c("#DC143C","#00008B","#808080"))+#确定点的颜色
geom_text_repel(data = Data[Data$padj<0.05&abs(Dat$log2FoldChange)>1,],
aes(label = Gene),size = 3,
segment.color = "black", show.legend = FALSE )#添加关注的点的基因名
theme_bw() #修改图片背景
theme(legend.title = element_blank()#不显示图例标题)
# 添加X轴Y轴名称并优化绘图====================================
ylab('-log10 (p-adj)')+#修改y轴名称
xlab('log2 (FoldChange)')+#修改x轴名称
geom_vline(xintercept=c(-1,1),lty=3,col="black",lwd=0.5) +#添加横线|FoldChange|>2
geom_hline(yintercept = -log10(0.05),lty=3,col="black",lwd=0.5)#添加竖线padj<0.05
结果:
原始数据:data_volcano.txt链接
点击复制:https://pan.baidu.com/s/1_b8swSkWDqIHZi6UwKaspA
提取码:
pll7