前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2构建误差线组图并添加组间显著性标记

ggplot2构建误差线组图并添加组间显著性标记

作者头像
R语言数据分析指南
发布2023-08-18 13:57:34
2500
发布2023-08-18 13:57:34
举报

欢迎关注R语言数据分析指南

❝本节来复现nature上的一张小图介绍如何使用「ggplot2构建误差线组图并添加组间显著性标记」, 下面小编就通过一个案例来进行结果展示,添加了详细的注释希望各位观众老爷能够喜欢 ❞

论文

❝Lactate limits CNS autoimmunity by stabilizing HIF-1α in dendritic cells ❞加载R包

代码语言:javascript
复制
library(tidyverse)
library(ggsci)
library(rstatix)
library(ggpubr)
library(cowplot)

数据清洗

代码语言:javascript
复制
df <- read_tsv("data.txt") %>%
  pivot_longer(-Id) %>% 
  mutate(group = sub("\\.\\.\\..*", "", name),
         Id=as.factor(Id)) %>% select(-name)

构建绘图数据

代码语言:javascript
复制
plot <- df %>% group_by(Id,group) %>% 
  summarise(value_mean=mean(value),sd=sd(value),se=sd(value)/sqrt(n()))

绘制主图

代码语言:javascript
复制
p <- plot %>% ggplot(aes(Id,value_mean,fill=group,group=group,
                  ymin=value_mean-se,ymax=value_mean+se))+
  geom_errorbar(width=0.2)+
  geom_line(color="black")+
  geom_point(aes(pch=group,color=group,fill=group),size=3)+
  scale_shape_manual(values=c(25,21,22,24))+
  scale_fill_npg()+
  scale_color_npg()+
  labs(x=NULL,y=NULL)+
  theme_classic()+
  theme(plot.margin=unit(c(0.1,1,0.1,0.1),units=,"cm"),
        axis.line = element_line(color = "black",size = 0.4),
        panel.grid.minor =element_blank(),
        panel.grid.major =element_blank(),
        axis.text.y = element_text(color="black",size=9),
        axis.text.x = element_text(margin = margin(t=3),color="black",size=9,angle=0,vjust = 0.5),
        legend.key=element_blank(),
        legend.title = element_blank(),
        legend.text = element_text(color="black",size=8),
        legend.spacing.x=unit(0.1,'cm'),
        legend.spacing.y=unit(1,'cm'),
        legend.key.width=unit(0.7,'cm'),
        legend.key.height=unit(0.4,'cm'),
        legend.background=element_blank(),
        legend.position = c(0.2,0.95),
        legend.box.margin = margin(0,0,0,0))

统计分析

代码语言:javascript
复制
df %>%
  t_test(value ~ group) %>%
  adjust_pvalue() %>% add_significance("p.adj") %>% 
  select(2,3,p.adj.signif)

添加注释

代码语言:javascript
复制
ggdraw()+
  draw_plot(p)+
  draw_line(x=c(0.95,0.95),y=c(0.35,0.63))+
  draw_line(x=c(0.95,0.95),y=c(0.65,0.8))+
  draw_text(x=0.975,y=0.5,text="****",angle=90,size=20,color="red")+
  draw_text(x=0.975,y=0.72,text="****",angle=90,size=20,color="red")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 论文
  • 数据清洗
  • 构建绘图数据
  • 绘制主图
  • 统计分析
  • 添加注释
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档