ggplot2优雅的给图像添加阴影

您所在的位置:网站首页 ggplot背景透明 ggplot2优雅的给图像添加阴影

ggplot2优雅的给图像添加阴影

2024-01-22 06:50| 来源: 网络整理| 查看: 265

❝本周「VIP群」有个朋友询问下面这张图的绘制方法,需要对两组数据做统计分析并且只给差异显著的添加阴影背景,那么肯定是要全部通过代码来自动实现这些需求;即然观众老爷有需求那小编就来详细拆解一下这张图的代码,下面来看具体案例 ❞

加载R包library(tidyverse) library(rstatix) library(ggpubr) library(GGally) library(ggsci) 导入数据df % t_test(tpm ~ type2) %>% adjust_pvalue() %>% add_significance("p.adj") %>% add_xy_position(x="tissue") %>% select(-y.position) %>% mutate(y.position=10)

❝在得到P值的结果后由于我们的需求为只给「显著」的添加阴影,因此我们将p值的结果分为两类,并将p值结果与原始数据进行整合 ❞

构建阴影填充分组df2 % left_join(.,test %>% select(tissue,p.adj.signif) %>% mutate(group=case_when(p.adj.signif =="ns" ~"B", TRUE ~"A")),by="tissue") %>% select(-p.adj.signif)

❝完成上面两步骤后我们就得到了添加阴影部分所需要的数据集,在此我们使用「geom_stripped_cols」按列来进行阴影填充,由于此函数是间隔1列进行填充,而我们指定的数据均为一组因此定义odd,even为同一颜色即可解决此问题 ❞

数据可视化df %>% ggplot(aes(tissue,tpm))+ stat_boxplot(aes(fill=type2),geom="errorbar",position=position_dodge(width=0.6),width=0.2)+ geom_boxplot(aes(fill=type2),position=position_dodge(width=0.6),width=0.4,outlier.shape = NA)+ stat_pvalue_manual(test,label = "p.adj.signif",label.y=10,label.size=4,hide.ns = T,tip.length=0)+ labs(x=NULL,y=NULL)+ geom_stripped_cols(data=df2 %>% filter(group =="A"),odd = "#33333333", even = "#33333333")+ scale_fill_jco()+ theme_test()+ theme(plot.margin=unit(c(0.2,0.2,0.2,0.2),units=,"cm"), axis.line = element_line(color = "black",size = 0.4), panel.grid.minor = element_blank(), panel.grid.major = element_line(size = 0.2,color = "#e5e5e5"), axis.text.y = element_text(color="black",size=10), axis.text.x = element_text(margin = margin(t =0.5),color="black",size=10), legend.position = "none", panel.spacing = unit(0,"lines"))

❝好了本节介绍到此结束,只要想清楚数据结构,代码写起来还是非常简单的;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3