如何减少子图之间的间距
How to decrease spacing between subplots
我有以下情节,我使用 ggplot2 和 patchwork 绘制面板图。
每行都对不同的目标数据集进行预测,所以我认为它可能是
为每一行设置一个标题很有帮助,我刚刚用一个空 ggplot + annotate()
创建了这个标题
这是它目前的样子:
示例代码
library(ggplot2)
library(patchwork)
p1 <- ggplot(mtcars) +
geom_point(aes(mpg, disp)) +
ggtitle("Plot 1")
p2 <- ggplot(mtcars) +
geom_boxplot(aes(gear, disp, group = gear)) +
ggtitle("Plot 2")
p3 <- ggplot(mtcars) +
geom_point(aes(hp, wt, colour = mpg)) +
ggtitle("Plot 3")
p4 <- ggplot(mtcars) +
geom_bar(aes(gear)) +
facet_wrap(~cyl) +
ggtitle("Plot 4")
ggplot() +
annotate(geom = "text", x = 1, y = 1, label = "Predictions on Dataset 1",size=8) +
theme_void() -> title1
ggplot() +
annotate(geom = "text", x = 1, y = 1, label = "Predictions on Dataset 2",size=8) +
theme_void() -> title2
title1 /
(p1 | p2) /
title2 /
(p3 | p4) +
plot_annotation(
tag_levels = list(c("","A.1) Model Name 1", "B.1) Model Name 2", "","A.2) Model Name 1", "B.2) Model Name 2")),
theme = theme(plot.title = element_text(size = 24))
) &
theme(
)
问题
我怎样才能减少 title1
和 title2
以及其他地块之间的 space?
期望输出:
title1 / (p1 | p2) /
title2 / (p3 | p4) +
plot_layout(heights = c(1,6,1,6)) +
....
并且您可以调整 title1
和 title2
中的文字大小,使它们与其他文字更加一致。这是 size = 5
:
我有以下情节,我使用 ggplot2 和 patchwork 绘制面板图。
每行都对不同的目标数据集进行预测,所以我认为它可能是
为每一行设置一个标题很有帮助,我刚刚用一个空 ggplot + annotate()
创建了这个标题
这是它目前的样子:
示例代码
library(ggplot2)
library(patchwork)
p1 <- ggplot(mtcars) +
geom_point(aes(mpg, disp)) +
ggtitle("Plot 1")
p2 <- ggplot(mtcars) +
geom_boxplot(aes(gear, disp, group = gear)) +
ggtitle("Plot 2")
p3 <- ggplot(mtcars) +
geom_point(aes(hp, wt, colour = mpg)) +
ggtitle("Plot 3")
p4 <- ggplot(mtcars) +
geom_bar(aes(gear)) +
facet_wrap(~cyl) +
ggtitle("Plot 4")
ggplot() +
annotate(geom = "text", x = 1, y = 1, label = "Predictions on Dataset 1",size=8) +
theme_void() -> title1
ggplot() +
annotate(geom = "text", x = 1, y = 1, label = "Predictions on Dataset 2",size=8) +
theme_void() -> title2
title1 /
(p1 | p2) /
title2 /
(p3 | p4) +
plot_annotation(
tag_levels = list(c("","A.1) Model Name 1", "B.1) Model Name 2", "","A.2) Model Name 1", "B.2) Model Name 2")),
theme = theme(plot.title = element_text(size = 24))
) &
theme(
)
问题
我怎样才能减少 title1
和 title2
以及其他地块之间的 space?
期望输出:
title1 / (p1 | p2) /
title2 / (p3 | p4) +
plot_layout(heights = c(1,6,1,6)) +
....
并且您可以调整 title1
和 title2
中的文字大小,使它们与其他文字更加一致。这是 size = 5
: