一看就懂的R语言火山图教程

2023-03-02 15:46:03 浏览数 (2)

火山图 就是比热图更热的图~~~

少废话,直接上代码~

基于R.3.4.4

代码语言:javascript复制
#载入相关包
library(ggplot2)
library(ggrepel)
library(ggsci)
library(dplyr)
#提取数据,resG是注释过基因名字的DEseq2结果
Vol.TG<-na.omit(resG) 
#给结果加上change,其中padj和log2FoldChange后面的值根据自己的需要修改
Vol.TG$change <- as.factor(ifelse(Vol.TG$padj < 0.01 & abs(Vol.TG$log2FoldChange) > 1,ifelse(Vol.TG$log2FoldChange > 1,'UP','DOWN'),'NOT'))
#加个配色
mypal_V = pal_gsea("default", n = 3, alpha = 0.9)(3)
#开始设置ggplot
#其中geom_point中alpha是点的透明度,size是点大小都可以修改。
#其中xlim是x轴范围,自己根据数据调整
#theme_bw中base_size是图中文字字号
#theme中那些事调整格子的,想知道效果删掉一个看一下。
#scale_color_manual中values后面值是配色,可以用c("","","")自己填颜色代号调整。limits代表change的顺序,这个要配合颜色顺序调整。
p <- ggplot(data = Vol.TG, aes(x = log2FoldChange, y = -log10(padj), color = change))
 geom_point(alpha=0.8, size = 1)
 xlim(-9,9) theme_bw(base_size = 18)
 theme(panel.grid.minor = element_blank(),panel.grid.major = element_blank())
 scale_color_manual(name = "", values = mypal_V, limits = c("DOWN", "NOT", "UP"))
#输出p
p
#加上基因名,其中padj和log2FoldChange后面的值根据自己的需要修改
p geom_text_repel(data=filter(Vol.TG,padj < 0.01,abs(log2FoldChange)>6), aes(label=genename))

效果图

为了让大更好的掌握这个用法,Chris生命科学小站qq群里有resG的例表给大家练习用。如果想知道这个resG是怎么得到的,请看下面星球介绍。

教程到此结束,下面是更重要的信息~~

0 人点赞