繁体   English   中英

使用构面时创建动态 x 轴标签

[英]Creating dynamic x-axis labels when using facets

我有一个 plot 它使用如下所示的方面:

library(tidyverse)

dat <- data.frame(grp = c("a", "a", "b", "b"),
           ep = c("r1", "r2", "r1", "r2"),
           val = c(3, 5, 2, 5),
           suffix = c("_w", "_x", "_y", "_z"))

dat %>% 
  ggplot(aes(x = ep, y = val, fill = ep)) +
  geom_col(position = "dodge") + 
  facet_wrap(~grp)

在此处输入图像描述

我想 append 每个 x 轴标签的后缀列,因此最终结果将如下所示:

在此处输入图像描述

我在下面尝试过这种方法,但是说找不到后缀变量:

dat %>% 
  ggplot(aes(x = ep, y = val, fill = ep)) +
  geom_col(position = "dodge") + 
  scale_x_discrete(labels = function(x) paste0(x, suffix)) +
  facet_wrap(~grp)

不要在ggplot中做,先创建后缀列。

library(tidyverse)

dat <- data.frame(grp = c("a", "a", "b", "b"),
                  ep = c("r1", "r2", "r1", "r2"),
                  val = c(3, 5, 2, 5),
                  suffix = c("_w", "_x", "_y", "_z"))

dat %>% 
  mutate(x_suffix = paste0(ep, suffix)) %>%
  ggplot(aes(x = x_suffix, y = val, fill = ep)) +
  geom_col(position = "dodge") + 
  facet_wrap(~grp, scales = "free_x")

reprex package (v2.0.1) 于 2021 年 12 月 1 日创建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM