首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图例标签组合图(ggplot和patchwork)

图例标签组合图(ggplot和patchwork)
EN

Stack Overflow用户
提问于 2021-09-24 06:55:59
回答 1查看 156关注 0票数 1

我是R的新手,正在尝试找到一种简单的方法来更改使用ggplot和patchwork创建的组合箱形图的图例标签。

我正在比较两组(对照组和哮喘组)5种不同类型细胞的比例。我为每种单元格类型创建了boxplot,并将它们与拼接结合在一起。

代码语言:javascript
复制
plot_mac <-  ggplot(asthma_desc, aes(x=control_case, y=BAL_mac_LP, color=control_case)) + 
  geom_boxplot(width=0.5,lwd=0.5) +
  geom_jitter(width=0.15) +
  labs(y = "Macrophages %") +
  stat_compare_means(label = "p.signif", label.x.npc = "center", label.y = 80, hide.ns = T)

然后我对4种不同类型的细胞做同样的事情。

代码语言:javascript
复制
patchwork <- plot_mac + plot_lym + plot_neu + plot_mast + plot_eos + plot_layout(guides = 'collect') 

patchwork & theme_minimal() & scale_color_manual(values=c("black", "red")) & 
  theme(axis.title.x = element_blank(), axis.ticks.x=element_blank(), axis.text.x=element_blank(), text=element_text(size=7)) & 
  ylim(0,100)

我得到了下面的图

我想把图例"control_case“改成”组“,把"1”改成"control“,把"2”改成"case“,我不能用labs(),scale_x_discrete()或者theme()。

EN

回答 1

Stack Overflow用户

发布于 2021-09-24 07:29:47

另一种选择是向数据帧中添加一个名为Group的新列。下面是一个模拟mtcars数据集的示例:

代码语言:javascript
复制
library(tidyverse)
library(ggpubr)
library(patchwork)

mtcars1 <- mtcars %>% 
    mutate(Group = case_when( am==0 ~"control", 
                                       am==1~"case",
                                       TRUE ~ NA_character_))
    


p1 <- ggplot(mtcars1, aes(x=Group, y=mpg, color=Group)) + 
    geom_boxplot(width=0.5,lwd=0.5) +
    geom_jitter(width=0.15) +
    labs(y = "Macrophages %") +
    stat_compare_means(label = "p.signif", label.x.npc = "center", label.y = 80, hide.ns = T)

p2 <- ggplot(mtcars1, aes(x=Group, y=wt, color=Group)) + 
    geom_boxplot(width=0.5,lwd=0.5) +
    geom_jitter(width=0.15) +
    labs(y = "Macrophages %") +
    stat_compare_means(label = "p.signif", label.x.npc = "center", label.y = 80, hide.ns = T)

p3 <- ggplot(mtcars1, aes(x=Group, y=hp, color=Group)) + 
    geom_boxplot(width=0.5,lwd=0.5) +
    geom_jitter(width=0.15) +
    labs(y = "Macrophages %") +
    stat_compare_means(label = "p.signif", label.x.npc = "center", label.y = 80, hide.ns = T)

patchwork <- p1 + p2 + p3 + plot_layout(guides = 'collect') 


patchwork & theme_minimal() & scale_color_manual(values=c("black", "red")) & 
    theme(axis.title.x = element_blank(), axis.ticks.x=element_blank(), axis.text.x=element_blank(), text=element_text(size=7)) & 
    ylim(0,100)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69310764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档