如何使用字符向量在具有指定布局的 R PATCHWORK 包中指定标记级别?
How to specify tagging levels in R PATCHWORK package having specified layout using a character vector?
使用 patchwork,您可以使用字符向量和设计参数指定图的布局,如下所示:
layout <- "
AABBBBDD
AACCCCDD
"
plot_layout(design = layout, guides = "collect")
我想标记地块“A1”、“A2”、“B”、“C”。但是,下面的代码标记,“A1”、“B”、“C”、“D”
patchwork <- p2 + p1 + p3 + p4 +
plot_layout(design = layout, guides = "collect")
patchwork[[1]] <- patchwork[[1]] + theme_minimal() + plot_layout(tag_level = "new")
patchwork + Annots
我试过用括号 (p2 +p1)
表示它们应该嵌套在一起,但这没有帮助。
如能就此问题提供任何帮助,我们将不胜感激!
ps 使用的地块制作如下:
p1 <- ggplot(mpg) +
geom_point(aes(x = displ, y = hwy))`
p2 <- ggplot(mpg) +
geom_bar(aes(x = as.character(year), fill = drv), position = "dodge") +
labs(x = "year")
p3 <- ggplot(mpg) +
geom_density(aes(x = hwy, fill = drv), colour = NA) +
facet_grid(rows = vars(drv))
p4 <- ggplot(mpg) +
stat_summary(aes(x = drv, y = hwy, fill = drv), geom = "col", fun.data = mean_se) +
stat_summary(aes(x = drv, y = hwy), geom = "errorbar", fun.data = mean_se, width = 0.5)```
你可以简单地做:
patchwork <- p2 + p1 + p3 + p4 +
plot_layout(design = layout, guides = "collect")
patchwork + plot_annotation(tag_levels = list(c("A1", "A2", "B", "C")))
使用 patchwork,您可以使用字符向量和设计参数指定图的布局,如下所示:
layout <- "
AABBBBDD
AACCCCDD
"
plot_layout(design = layout, guides = "collect")
我想标记地块“A1”、“A2”、“B”、“C”。但是,下面的代码标记,“A1”、“B”、“C”、“D”
patchwork <- p2 + p1 + p3 + p4 +
plot_layout(design = layout, guides = "collect")
patchwork[[1]] <- patchwork[[1]] + theme_minimal() + plot_layout(tag_level = "new")
patchwork + Annots
我试过用括号 (p2 +p1)
表示它们应该嵌套在一起,但这没有帮助。
如能就此问题提供任何帮助,我们将不胜感激!
ps 使用的地块制作如下:
p1 <- ggplot(mpg) +
geom_point(aes(x = displ, y = hwy))`
p2 <- ggplot(mpg) +
geom_bar(aes(x = as.character(year), fill = drv), position = "dodge") +
labs(x = "year")
p3 <- ggplot(mpg) +
geom_density(aes(x = hwy, fill = drv), colour = NA) +
facet_grid(rows = vars(drv))
p4 <- ggplot(mpg) +
stat_summary(aes(x = drv, y = hwy, fill = drv), geom = "col", fun.data = mean_se) +
stat_summary(aes(x = drv, y = hwy), geom = "errorbar", fun.data = mean_se, width = 0.5)```
你可以简单地做:
patchwork <- p2 + p1 + p3 + p4 +
plot_layout(design = layout, guides = "collect")
patchwork + plot_annotation(tag_levels = list(c("A1", "A2", "B", "C")))