最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

答疑

IT圈 admin 25浏览 0评论

答疑

后台有几个同学对之前的教程跟着CELL学作图|1.火山图提出了几点疑问:

  • 能不能直接用ggplot来画

  • 如何给自己想要的基因/蛋白加上文字标签

今天简单的解答一下。

示例数据为跟着CELL学作图|1.火山图里面的数据~

开始作图

rm(list = ls())
setwd("F:/HJH/mzbj/cell/2021.4.12")
library(RColorBrewer)
library(ggrepel) #标签用
df <- read.csv("df.csv",row.names = 1) #导入数据,第一列作为行名
#确定是上调还是下调,用于给图中点上色
df$threshold = factor(ifelse(df$P_value  < 0.05 & abs(df$fd) >= 0.25, ifelse(df$fd >= 0.25 ,'Up','Down'),'NoSignifi'),levels=c('Up','Down','NoSignifi'))
df$gene <- row.names(df) #添加一列基因名,以便备注
ggplot(df,aes(x=fd,y= -log10(P_value),color=threshold))+geom_point(data = df[df$P_value<0.05&abs(df$fd)>0.25,],size = 5)+ geom_point(data = df[df$P_value>0.05|abs(df$fd)<0.25,],size = 4)+scale_color_manual(values=c("#4393C3","#00000033","#FC4E2A"))+#确定点的颜色geom_text_repel(data = df[df$P_value<0.05&abs(df$fd)>1,],aes(label = gene),size = 4.5,color = "black",segment.color = "black", show.legend = FALSE )+#添加关注的点的基因名ylab('-log10 (P_value)')+#修改y轴名称xlab('log2 (FoldChange)')+#修改x轴名称geom_vline(xintercept=c(-0.25,0.25),lty=3,col="black",lwd=0.5) +#添加横线|logFoldChange|>0.25geom_hline(yintercept = -log10(0.05),lty=3,col="black",lwd=0.5) +#添加竖线padj<0.05theme_classic(  # 主题设置,这个是无线条主题base_line_size = 1 # 坐标轴的粗细)+theme(axis.title.x = element_text(size = 15, color = "black",face = "bold"),axis.title.y = element_text(size = 15,color = "black",face = "bold", vjust = 1.9, hjust = 0.5, angle = 90),legend.title = element_blank(),legend.text = element_text(color="black", # 设置图例标签文字size = 10, face = "bold"),axis.text.x = element_text(size = 13,  # 修改X轴上字体大小,color = "black", # 颜色face = "bold", #  face取值:plain普通,bold加粗,italic斜体,bold.italic斜体加粗vjust = 0.5, # 位置hjust = 0.5, angle = 0), #角度axis.text.y = element_text(size = 13,  color = "black",face = "bold", vjust = 0.5, hjust = 0.5, angle = 0) )

出图



备注

更详细的讲解,明天会在我的B站:木舟笔记更新一期视频。如果对代码的细节有疑问的,可以看一下视频。希望大家可以多多点赞在看!

答疑

后台有几个同学对之前的教程跟着CELL学作图|1.火山图提出了几点疑问:

  • 能不能直接用ggplot来画

  • 如何给自己想要的基因/蛋白加上文字标签

今天简单的解答一下。

示例数据为跟着CELL学作图|1.火山图里面的数据~

开始作图

rm(list = ls())
setwd("F:/HJH/mzbj/cell/2021.4.12")
library(RColorBrewer)
library(ggrepel) #标签用
df <- read.csv("df.csv",row.names = 1) #导入数据,第一列作为行名
#确定是上调还是下调,用于给图中点上色
df$threshold = factor(ifelse(df$P_value  < 0.05 & abs(df$fd) >= 0.25, ifelse(df$fd >= 0.25 ,'Up','Down'),'NoSignifi'),levels=c('Up','Down','NoSignifi'))
df$gene <- row.names(df) #添加一列基因名,以便备注
ggplot(df,aes(x=fd,y= -log10(P_value),color=threshold))+geom_point(data = df[df$P_value<0.05&abs(df$fd)>0.25,],size = 5)+ geom_point(data = df[df$P_value>0.05|abs(df$fd)<0.25,],size = 4)+scale_color_manual(values=c("#4393C3","#00000033","#FC4E2A"))+#确定点的颜色geom_text_repel(data = df[df$P_value<0.05&abs(df$fd)>1,],aes(label = gene),size = 4.5,color = "black",segment.color = "black", show.legend = FALSE )+#添加关注的点的基因名ylab('-log10 (P_value)')+#修改y轴名称xlab('log2 (FoldChange)')+#修改x轴名称geom_vline(xintercept=c(-0.25,0.25),lty=3,col="black",lwd=0.5) +#添加横线|logFoldChange|>0.25geom_hline(yintercept = -log10(0.05),lty=3,col="black",lwd=0.5) +#添加竖线padj<0.05theme_classic(  # 主题设置,这个是无线条主题base_line_size = 1 # 坐标轴的粗细)+theme(axis.title.x = element_text(size = 15, color = "black",face = "bold"),axis.title.y = element_text(size = 15,color = "black",face = "bold", vjust = 1.9, hjust = 0.5, angle = 90),legend.title = element_blank(),legend.text = element_text(color="black", # 设置图例标签文字size = 10, face = "bold"),axis.text.x = element_text(size = 13,  # 修改X轴上字体大小,color = "black", # 颜色face = "bold", #  face取值:plain普通,bold加粗,italic斜体,bold.italic斜体加粗vjust = 0.5, # 位置hjust = 0.5, angle = 0), #角度axis.text.y = element_text(size = 13,  color = "black",face = "bold", vjust = 0.5, hjust = 0.5, angle = 0) )

出图



备注

更详细的讲解,明天会在我的B站:木舟笔记更新一期视频。如果对代码的细节有疑问的,可以看一下视频。希望大家可以多多点赞在看!

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论