ggplot2 绘制火山图

ggplot2 绘制火山图使用 ggplot 包绘制火山图 需要一个 dataframe 并包含如下信息 log2FoldChan 绘制 x 轴 pvalue 或 padj 绘制 y 轴 Change 元素为 up down 或 none 用于散点上色 library ggplot2 一 添加 Change 列 View result log2FC 阈值 0 5 padj 阈值 0 05result which result log2FoldChan gt 0 5 amp result padj

使用 ggplot包 绘制火山图,需要一个dataframe并包含如下信息:

  1. log2FoldChange:绘制x轴
  2. pvalue或padj:绘制y轴
  3. Change:元素为up、down或none,用于散点上色

ggplot2 绘制火山图

library("ggplot2")

一、添加”Change”列

View(result)

 ggplot2 绘制火山图

log2FC阈值:0.5padj阈值:0.05

thres_log2FC=0.5 thres_p=0.05 result[which(result$log2FoldChange >= thres_log2FC & result$padj < thres_p),'Change'] <- 'up' result[which(result$log2FoldChange <= -thres_log2FC & result$padj < thres_p),'Change'] <- 'down' result[which(abs(result$log2FoldChange) <= thres_log2FC | result$padj >= thres_p),'Change'] <- 'none'

 View(result)

ggplot2 绘制火山图

write.csv(result,file = "gleason high vs low_result.csv",quote = FALSE) 

二、ggplot2作图

p <- ggplot(data = result, aes(x = log2FoldChange, y = -log10(padj), color = Change)) + geom_point(size = 1) + #绘制散点图 scale_color_manual(values = c('red', 'gray', 'green'), limits = c('up', 'none', 'down')) + #自定义点的颜色 labs(x = 'log2 Fold Change', y = '-log10 adjust p-value', title = 'gleason high vs low', color = '') + #坐标轴标题 theme(plot.title = element_text(hjust = 0.5, size = 14), panel.grid = element_blank(), #背景色、网格线、图例等主题修改 panel.background = element_rect(color = 'black', fill = 'transparent'), legend.key = element_rect(fill = 'transparent')) + geom_vline(xintercept = c(-thres_log2FC, thres_log2FC), lty = 3, color = 'black') + #添加阈值线 geom_hline(yintercept = -log10(thres_p), lty = 3, color = 'black') #+ xlim(-5, 5) + ylim(0, 15) #定义刻度边界 p

ggplot2 绘制火山图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177108.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:17
下一篇 2026年3月26日 下午8:18


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号