跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)

简介: 跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)

绘制


# 导入数据
mRNA<-read.csv("All_mRNA_FPKM.csv",header=T,row.names=1)
exp<-log2(mRNA+1)
bar_mat<-t(exp)
anno<-read.csv("sample_index.csv",header=T,row.names=1)
anno$type2<-anno$Type
anno <- anno[rownames(bar_mat),]
bar_mat<-bar_mat[rownames(anno),]
bar_mat<-as.data.frame(bar_mat)
bar_mat$sam=anno$Type
# 这里将"Mild","Severe","Critical" 三组合并为 symptomatic组
# 并对数据进行复制并合并
library(tidyverse)
plot_data <- data.frame(FOXO3 = bar_mat$FOXO3,
                        group = bar_mat$sam)
plot_data2 <- plot_data %>% filter(group != 'Asymptomatic')
plot_data2$group = 'Symptomatic' 
plot_data = rbind(plot_data,plot_data2)
head(plot_data)
# 设置分组因子水平
plot_data$group<-factor(plot_data$group,
                        levels=c("Symptomatic","Asymptomatic","Mild","Severe","Critical"))
library(RColorBrewer)
library(ggpubr)
library(ggplot2)
color <-c("#f06c61","#6b7eb9","#f06c61","#f06c61","#f06c61")
# 自行设置差异比较分组
my_comparisons <- list(c("Symptomatic","Asymptomatic"))
range(bar_mat$FOXO3)
p <- ggplot(plot_data,aes(x = group, y = FOXO3, color = group)) +
  geom_rect(xmin = 0.4, xmax = 2.5,
            ymin = -Inf, ymax = Inf,
            fill ='#d2dbdf',
            inherit.aes = F)+
  geom_jitter(alpha = 0.6)+
  geom_boxplot(alpha = 0.5) +
  scale_color_manual(values = color)+
  # 先算一下显著性差异,再手动添加
  #geom_signif(comparisons = my_comparisons,
  #            test = "t.test",
  #            map_signif_level = T)+
  annotate("text", x = 1.5, y = 10.5, label ="***",size = 4)+
  theme_bw() + 
  xlab("") +
  ylab("Gene Expression (log2 TPM)")+
  theme(panel.grid=element_blank(),
        legend.position = "none",
        axis.text.x = element_text(angle=90, hjust=1, vjust=.5))
p1 <- p +  
  coord_cartesian(clip = 'off',ylim = c(4,10.6))+ #在非图形区域绘图,且要定好y轴范围
  theme(plot.margin = margin(0.5,0.5,1.5,0.5,'cm'))+ #自定义图片上左下右的边框宽度
  annotate('segment',x=3,xend=5,y=2.8,yend=2.8,color='black',cex=.4)+
  annotate('text',x=4,y=2.7,label='subtype',size=4,color='black')
p1
ggsave("p1.pdf",p1,width = 2.5,height = 6)

image.png

结果


相关文章
|
11月前
|
机器学习/深度学习 人工智能 算法
图灵奖获得者杰夫·辛顿(Geoffrey Hinton)
杰夫·辛顿(Geoffrey Hinton),加拿大-英国籍教育科研工作者,1947年生于英国温布尔登。他因在神经网络和深度学习领域的杰出贡献,于2018年获得图灵奖。辛顿是反向传播算法和对比散度算法的发明人之一,被誉为“AI教父”。他的研究推动了现代神经网络的发展,并在多个国际顶级期刊上发表了多篇重要论文。
676 0
|
存储 资源调度 前端开发
【React | 完整项目创建流程】能看到这么详细的React配置流程,就偷着乐吧!
【React | 完整项目创建流程】能看到这么详细的React配置流程,就偷着乐吧!
364 1
|
存储 机器人 API
初识LangChain的快速入门指南
LangChain是一个基于大语言模型用于构建端到端语言模型应用的框架,它提供了一系列工具、套件和接口,让开发者使用语言模型来实现各种复杂的任务,如文本到图像的生成、文档问答、聊天机器人等。
665 1
|
并行计算 API 计算机视觉
Python多线程与多进程:概念、区别及应用场景解析
Python多线程与多进程:概念、区别及应用场景解析
512 0
|
机器学习/深度学习 安全 算法
机器学习 -之one-hot编码技术
One-hot编码是一种数据处理技术,主要用于将分类变量转换为适合机器学习算法处理的格式。
241 0
|
数据可视化 数据库
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
scRNA分析|使用CellChat完成细胞通讯分析-简单且可视化出众,代码自取
2249 0
|
Java 程序员
for循环语句(详解+典例)
for循环语句(详解+典例)
403 0
扩增子测序中OTU表进行抽平的两种方式
A random rarefaction of sample reads according to a specific reads length (usually the smallest value) should be performed firstly for downstream analysis.
663 0
|
数据处理
R语言-数据处理:dplyr包select 函数条件选择列向量用法
dplyr中的select函数是一种非常实用的数据框列选择函数,本文分享了这个函数的一些最常用用法以供参考
553 0
|
存储 Go
速绘丨GO富集气泡图绘制方法,利用R语言ggplot2包快速绘制,完整脚本可重复绘图
速绘丨GO富集气泡图绘制方法,利用R语言ggplot2包快速绘制,完整脚本可重复绘图