1

请看下图并关注蓝色的条形文字(每张图的左上侧)。

某物的生产情节

当我在 2 个变量上使用 facet_wrap 时,我希望底部条带文本为黑色,而顶部条带文本保持其皇家蓝3 颜色。

我尝试使用 ggthemes、strip.text.x / strip.text.y 选项但不知道如何执行此操作。

这是代码:

    ggplot(aes(Año, Valor, group = DEPP, color = DEPP)) +
  geom_line(size  = 1,
            alpha = 0.6 ) +
  geom_point(shape = 22, 
             size = 1.5, 
             fill = "grey") +
  theme_ipsum() +
  scale_y_continuous(labels = unit_format(unit = "S/", scale = 1)) +
  scale_x_discrete(breaks = c(2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021)) +
  theme(axis.title.y = element_blank(), 
        axis.title.x = element_blank()) + # Delete the title of the y and x axis
  labs(
    title = "Evolución Valor del Volumen de Producción Según Estado del Pescado y Órigen",      
    subtitle = "Valor de volumen (Kg equivalentes) registrado por la respectiva Dirección de Extracción y Procesamiento Pesquero (DEPP)",
    caption = "Fuente: DIREPRO"
  ) +
  guides(color = "none") +
  facet_wrap(DEPP ~reorder(EstadoPescado, -Valor), scales = "free_y", ncol = 3) +
  theme(strip.text.x = element_text(size = 11, colour = "royalblue3")) #Using ggthemes

  ggsave("desembarque_plot.png", 
         path = here("figures"), 
         width = 15*3, height = 8*10, 
         units = "cm")
4

2 回答 2

1

实现所需结果的一种选择是使用ggtext允许通过 markdown 和/或 HTML 设置文本标签和主题元素样式的包。

使用mtcars示例数据集:

library(ggplot2)
library(ggtext)

mtcars2 <- mtcars
mtcars2$cyl <- paste("<span style='color: royalblue3'>", mtcars2$cyl, "</span>")
mtcars2$am <- paste("<span style='color: black'>", mtcars2$am, "</span>")
ggplot(mtcars2, aes(hp, mpg)) +
  geom_point() +
  facet_wrap(cyl~am) +
  theme(strip.text = ggtext::element_markdown(size = 11))

于 2021-08-04T18:54:11.507 回答
1

我正在 ggh4x 的 github 版本上尝试自定义条带。该功能尚未在 CRAN 上,但您可能会发现它很有用。主要思想是您可以将元素列表提供给条带。公然抄袭 stefan 的例子:

library(ggplot2)
library(ggh4x) # devtools::install_github("teunbrand/ggh4x")

ggplot(mtcars, aes(hp, mpg)) +
  geom_point() +
  facet_wrap2(
    cyl~am,
    strip = strip_themed(
      text_x = elem_list_text(colour = c("royalblue3", "black")),
      by_layer_x = TRUE
    )
  )

reprex 包于 2021-08-04 创建(v1.0.0)

(强制性免责声明:我是作者 ggh4x。如果您发现任何错误,现在是报告它们的好时机)

于 2021-08-04T21:39:14.520 回答