R语言之可视化-火山图
火山图可以方便直观地展示两个样本间基因差异表达的分布情况。通常横坐标用log2(fold change)表示,差异越大的基因分布在两端,纵坐标用-log10(pvalue)表示,T检验显著性P值的负对数。通常差异倍数越大的基因T检验越显著,所以往往关注左上角和右上角的值。我们根据计算结果在图上按照FDR和我们自定义的logFC值来将这部分显著变化的基因用不同颜色标示出来以区分,这类图像往往呈现类似火山爆发的样子,于是就被叫做“火山图”(volcano plot)了。
library(ggplot2)
diff <- read.csv("DEG.Out.csv",header = T)logFC <-diff$logFC
adj <- diff$FDRdata <- data.frame(logFC=logFC,padj=padj)
data$sig[(data$padj > 0.05|data$padj=="NA")|(data$logFC < 0.5)& data$logFC > -0.5] <- "no"
data$sig[data$padj <= 0.05 & data$logFC >= 0.5] <- "up"
data$sig[data$padj <= 0.05 & data$logFC <= -0.5] <- "down"# 选最大值作为xlim的上下边界
x_lim <- max(logFC,-logFC)
# 绘制火山图
library(ggplot2)
library(RColorBrewer)
pdf(file = "miRNA_volcano.pdf",width=8,height=8)
theme_set(theme_bw())
p <- ggplot(data,aes(logFC,-1*log10(padj),color = sig))+geom_point()+xlim(-5,5) + labs(x="log2(FoldChange)",y="-log10(FDR)")
p <- p + scale_color_manual(values =c("#0072B5","grey","#BC3C28"))+geom_hline(yintercept=-log10(0.05),linetype=4)+geom_vline(xintercept=c(-0.5,0.5),linetype=4)
p <- p +theme(panel.grid =element_blank())+theme(axis.line = element_line(size=0))+ylim(0,15)
p <- p +guides(colour = FALSE)
p <- p +theme(axis.text=element_text(size=20),axis.title=element_text(size=20))
p
dev.off()
print(p)
参考:
https://www.jianshu.com/p/efb41e5f0ee2
R语言之可视化-火山图相关推荐
- R语言ggplot2可视化箱图(boxplot)并使用ggsignif添加分组显著性(significance)标签
R语言ggplot2可视化箱图(boxplot)并使用ggsignif添加分组显著性(significance)标签 目录 R语言ggplot2可视化箱图(boxplot)并使用ggsignif添加显 ...
- R语言ggplot2可视化密度图(density plot)、改变密度图下的填充色实战
R语言ggplot2可视化密度图(density plot).改变密度图下的填充色实战 目录 R语言ggplot2可视化密度图(density plot).改变密度图下的填充色实战
- R语言ggplot2可视化箱图、配置抖动数据点(jitter points)避免数据点互相覆盖、并使用线条(line)连接两个箱图中不同分组成对的数据点(jitter on Boxplots)
R语言ggplot2可视化箱图.配置抖动数据点(jitter points)避免数据点互相覆盖.并使用线条(line)连接两个箱图中不同分组成对的数据点(Connecting Paired Point ...
- R语言ggplot2可视化线图(line plot):当数据有中断、缺失时R不会将数据绘制为连续的线图、而是出现断点
R语言ggplot2可视化线图(line plot):当数据有中断.缺失时R不会将数据绘制为连续的线图.而是出现断点 目录
- R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)
R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot).均值计算并连接成线图(line plot) ...
- R语言ggplot2可视化小提琴图(violin plot)并使用ggsignif添加分组显著性(significance)标签
R语言ggplot2可视化小提琴图(violin plot)并使用ggsignif添加分组显著性(significance)标签 目录
- R语言ggplot2可视化改变图中线条的透明度级别实战
R语言ggplot2可视化改变图中线条的透明度级别实战 目录 R语言ggplot2可视化改变图中线条的透明度级别实战 #默认没有透明
- R语言ggplot2可视化箱图(boxplot)时忽视异常值(outlier)并重新分配坐标轴的范围是的可视化的箱图可以有效显示箱体实战
R语言ggplot2可视化箱图(boxplot)时忽视异常值(outlier)并重新分配坐标轴的范围是的可视化的箱图可以有效显示箱体实战 目录
- R语言ggplot2可视化线图(line plot)、自定义设置X轴标签为字符串标签,将原有的指定间隔的数字标签替换为指定的字符串标签(change x axis labels into string
R语言ggplot2可视化线图(line plot).自定义设置X轴标签为字符串标签,将原有的指定间隔的数字标签替换为指定的字符串标签(change x axis labels into string ...
最新文章
- 《CCNA ICND2(200-101)认证考试指南(第4版)》——第1章定义生成树协议
- cdr怎么转换成psd转换为位图标准_动漫角色转换真人,飞屋环游记中的小罗竟酷似他……...
- WCF 4.0 REST服务解决Method Not Allowed错误
- ListView几个比较特殊的属性
- 设备无法获得谷歌运行怎么办_因此,您刚刚获得了Google主页。 怎么办?
- python中的索引从几开始计数_计算机为什么要从 0 开始计数?
- ElasticSearch highlight搜索结果高亮显示(英文检索)
- Fedora32升级Fedora33后无线网络无法连接的问题
- R语言ggplot2包之画折线图
- python的skimage库 图像中值滤波;均值滤波;极大值滤波
- 创建和删除目录mkdir/rmdi
- java jvm 1.6_JVM1.6 GC详解
- M1芯片,PS2022版真的来了。Photoshop 2022 for Mac中文版介绍安装教程,支持Monterey系统
- 【1084】幂的尾数
- 读书笔记 --- 组织结构设计
- Mac下的平铺式桌面 - Yabai
- java 用户登录_java编写用户登录
- 图片文件捆绑教学(仅限制图片与rar)
- 综合布线之“五星对话”
- 10万行代码电商项目
热门文章
- 服务器安全设置之--硬盘权限篇
- [导入]用程序来还原数据库(一个遗留了两年的问题)
- 只要努力搞,没有KPI搞不垮的团队?
- 今天,进程告诉我线程它它它它不想活了
- 这组动画完美演绎了一个程序员从接手新项目到交货的复杂心情
- QCon演讲| 从团伙到团队,PingCode研发团队敏捷实践血泪史
- 12 Java程序员面试宝典视频课程之面向对象
- 嵌入式系统之温限使用
- 20年的嵌入式开发经验总结
- java二维数组从键盘更改_互换二维数组的行列。要求数组的行数、列数以及各元素均从键盘输入;输出互换前数组内容和互换后数组内容。(要求循环输入进行测试)Java...