使用 2 个变量的 facet_wrap 更改 strip.text 的颜色
Changing colour of strip.text using facet_wrap of 2 variables
请看下图并注意蓝色的条形文字(每张图的左上角)。
因为我在 2 个变量上使用了 facet_wrap,所以我希望底部条带文本为黑色,而顶部条带文本保持其 royalblue3 颜色。
我尝试使用 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")
实现您想要的结果的一个选择是使用 ggtext
包,它允许通过 markdown and/or HTML.[=14 设置文本标签和主题元素的样式=]
使用 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))
我正在 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 package (v1.0.0)
于 2021-08-04 创建
(免责声明:我是作者 ggh4x。如果您发现任何错误,是时候报告它们了)
请看下图并注意蓝色的条形文字(每张图的左上角)。
因为我在 2 个变量上使用了 facet_wrap,所以我希望底部条带文本为黑色,而顶部条带文本保持其 royalblue3 颜色。
我尝试使用 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")
实现您想要的结果的一个选择是使用 ggtext
包,它允许通过 markdown and/or HTML.[=14 设置文本标签和主题元素的样式=]
使用 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))
我正在 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 package (v1.0.0)
于 2021-08-04 创建(免责声明:我是作者 ggh4x。如果您发现任何错误,是时候报告它们了)