火山图绘制

火山图绘制绘制好看的火山图现在有很多软件都可以画火山图 比如说生信人推出的小工具等 很多画图的小工具现在画的火山图也比较号看了 但是个人还是喜欢用 R 语言画图 我觉得 R 语言画的图可调整性大 主观意识更强 很多在线的软件画出的图都是作者根据他们自己的感觉排版的 但是 R 语言不同 下面我以生信人小工具和 R 语言绘制的火山图为例 简单叙述一下 如何绘制火山图 这里我不详细介绍如何用生信人小工具画图 有想了解的自行

#设置工作路径

setwd("") #如果安装过了ggplot2包,请忽略此步 install.packages(“ggplot2”) library("ggplot2") 

#导入文件

k<-read.csv("mRNA.csv",header=T) 

#分别取up,down 和None 子集

k_up<-subset(k,PValue<0.05 & logFC>1) k_down<-subset(k,PValue<0.05 & logFC< -1) k_none<-subset(k,PValue>0.05 | (logFC < 1 &logFC > -1)) 

#计算up和down 的基因个数,并设置图例显示的名称

up<-dim(k_up)[1] down<-dim(k_down)[1] none_diff<- dim(k_none)[1] total<-up+down uplable=paste("Up :",up) downlable=paste("Down :",down) none_diff_lable=paste("No Change:",none_diff) 

#在文件最后加一列,分别表示up,down 和False 的个数

k_up$sig<-uplable k_down$sig<-downlable k_none$sig<-none_diff_lable k<-rbind(k_up,k_down,k_none) logPValue= -log10(k$PValue) 

开始绘图

p <- ggplot(k)+geom_point(aes(x=logFC,y=logPValue,color=sig),size=0.8) p <- p + ggtitle(paste(""))+xlab("log2(FC)")+ylab("-log10(PValue)")+expand_limits(x=c(-10,10)) p<-p+scale_color_manual(paste("DEGs","(",total,")"),values=c("green","grey","red")) p<-p+geom_hline(yintercept=-log10(0.05),linetype="dotdash",size=0.4)+geom_vline(xintercept=c(-1,1),linetype="dotdash",size=0.4) p 

在这里插入图片描述
#ggtitle为该图的标题(可自行设置)
#xlab为x轴的标题
#ylab为y轴的标题
#expand_limits为x轴的范围








scale_color_manual设置了图例的标题和相应分组的颜色

geom_hline和geom_vline设置两条垂直线,设置类型为dotdash(虚线),size线条的粗细。

p+theme(panel.border=element_rect(fill=NA,colour="black"),plot.title = element_text(hjust = 0.5), panel.background = element_rect(fill = "transparent",colour ="gray"), plot.background = element_rect(fill = "transparent",colour ="gray")) 
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk0OTI0Ng==,size_16,color_FFFFFF,t_70) 

panel.border 图片周围的边框

plot.title 标题文本的外观

panel.background 绘图区域背景

plot.background 图形的背景

详细可见ggplot2包theme的帮助文档,在窗口输入?theme即可。

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

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

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


相关推荐

  • FindWindow和FindWindowEx「建议收藏」

    FindWindow和FindWindowEx「建议收藏」函数型:HWNDFindWindow(LPCTSTRIpClassName,LPCTSTRIpWindowName);IpClassName:指向一个指定了类名的空结束字符串或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。如果为NULL,

    2022年5月31日
    51
  • java基础-数组越界

    java基础-数组越界小伙伴们 你们好呀 我是老寇 目录一 问题思考二 解决方案一 问题思考老寇在做算法题时遇到了一个问题 查阅有关资料 原来是数组越界 话不多说 直接看错 int 的范围 long 的范围 这个问题要怎么解决 二 解决方案既然超过数据 int 的范围 那就直接将 int 改为 long 就行啦

    2026年3月19日
    3
  • 矩阵可对角化的充要条件及证明

    矩阵可对角化的充要条件及证明对角化 若方阵 A 相似于对角矩阵 即存在可逆矩阵 P 和对角矩阵 D 有 则称 A 可对角化 可对角化的充要条件 n n 阶矩阵 A 可对角化的充分必要条件是矩阵 A 有 n 个线性无关的特征向量 充分性证明 设 A 的 n 个线性无关的特征向量为 对应的特征值为 特征向量构成矩阵 P 则 将对角矩阵记为 D 则上式可化简为 AP PD 因为 n 个特征向量线性无关 所以 P 可逆 所以 即 A 可对角化

    2026年3月19日
    2
  • linux怎么安装xshell_shell连接db2数据库命令

    linux怎么安装xshell_shell连接db2数据库命令第一步:在linux下解压文件第二步:安装之前先执行卸载掉centos7自带的mariadb-lib(1)查询mariadb信息rpm-qa|grepmariadb2)使用rpe-e命令卸载rpm-emariadb-libs-5.5.64-1.el7.x86_64–nodeps第三步:依次安装yuminstallmysql-community-common-5.7.27-1.e…

    2025年10月15日
    3
  • pycharm无法使用第三方库_pycharm第三方库安装路径

    pycharm无法使用第三方库_pycharm第三方库安装路径有时候更新第三方库一直失败,猜测是源的问题,换成豆瓣的源后依然更新不了,参照网上搜索最后解决了问题,这里留个解决方法。方式一:pycharm里换源。自带是国外的源,更换为国内的访问更快更稳定,提供几个能用的源:清华:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣:https://pypi.douban.com/simple/阿里:https://mirrors.aliyun.com/pypi/simple/我用的阿里。步骤:File>Settin

    2022年8月29日
    8
  • oracle 入门_初学围棋入门教程

    oracle 入门_初学围棋入门教程本章内容:ØOracle介绍Ø安装步骤Ø基本使用Ø用户管理

    2022年8月30日
    6

发表回复

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

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