不好好作图的NCS系列(四):ggplot2绘制多彩火山图

用R语言绘制Cell文章中的散点图(火山图)。

读入差异基因分析的文件,并加载ggplot2。

setwd("E:/生物信息学")library(ggplot2)A <- read.csv("A.csv",header = T)

文件中包含log2FC,-log10(Pval),还有对基因的注释:

以log2FC为横轴,-log10(Pval)为纵轴画散点图:

#ggplot2画散点图ggplot(data=A, aes(x=avg_log2FC, y=P)) + geom_point()

这个图是远远不够的,要对其坐标轴进行修饰。​​​​​​​

ggplot(data=A, aes(x=avg_log2FC, y=P)) + geom_point()+  theme(panel.background =element_blank())+  theme(axis.line=element_line(colour="black", size = 0.5))+  labs(y="-log10(Padj)", x = "Log2FC")

这样图的基本雏形就出来了,接着需要做的就是将不同功能的基因用不同的颜色的点标记出来。​​​​​​​

A$pathway <- factor(A$pathway)ggplot(data=A, aes(x=avg_log2FC, y=P,color=pathway)) + geom_point()+  theme(panel.background =element_blank())+  theme(axis.line=element_line(colour="black", size = 0.5))+  labs(y="-log10(Padj)", x = "Log2FC")

颜色是标记不同了,但是比较乱,所以自定义一下:​​​​​​​

ggplot(data=A, aes(x=avg_log2FC, y=P,color=pathway)) + geom_point()+  theme(panel.background =element_blank())+  theme(axis.line=element_line(colour="black", size = 0.5))+  labs(y="-log10(Padj)", x = "Log2FC")+  scale_colour_manual(name ="other", values =c("grey","orange","red","purple","green"))

这样就完成了,与Cell文章的图可以说是一模一样。但是还缺乏点东西,我需要在图上添加文字,表明左侧是对照组,右侧是实验组(知识点:ggplot2画图在任意位置添加自定义文本)。这字可不是P上去的!

ggplot(data=A, aes(x=avg_log2FC, y=P,color=pathway)) + geom_point()+  theme(panel.background =element_blank())+  theme(axis.line=element_line(colour="black", size = 0.5))+  labs(y="-log10(Padj)", x = "Log2FC")+  scale_colour_manual(name ="other", values =c("grey","orange","red","purple","green"))+  annotate("text", label = "Control", x = -0.5, y = 32)+  annotate("text", label = "Tset", x = 1.5, y = 30)

至此,完美的复刻了Cell文章的图。回到本质,这个图还是很有用的,即表现出了差异基因,也表现出了不同差异基因的类型或者功能!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值