这是以前学习ggplot2的时候,自己调制的火山图。 纪念一下。 使用ggplot2画框架 使用ggrepel来打标签 library(ggplot2)
library(ggrepel)
准备数据,以及打标签用的数据 data <> allDiff
data$significant <> as.factor(data$P.Value0.05 & abs(data$logFC) > 1)
data$gene <> rownames(data)
正式画图 ggplot(data=data, aes(x=logFC, y =-log10(P.Value),color=significant)) +
geom_point(alpha=0.8, size=1.2)+
scale_color_manual(values =c('black','red'))+
labs(title='Volcanoplot', x='log2 (fold change)',y='-log10 (q-value)')+
theme(plot.title = element_text(hjust = 0.4))+
geom_hline(yintercept = -log10(0.05),lty=4,lwd=0.6,alpha=0.8)+
geom_vline(xintercept = c(1,-1),lty=4,lwd=0.6,alpha=0.8)+
#theme(legend.position='none')
theme_bw()+
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = 'black')) +
geom_text(data=subset(data, abs(logFC) > 3), aes(label=gene),col='red',alpha = 1)
geom_text_repel(data=subset(data, abs(logFC) > 3), aes(label=gene),col='black',alpha = 0.8)
感觉很像火山崩发啊。
|