如何最小化由 ggplot2 绘制的 patchwork 包的 guide_area() 函数创建的白色 space?
How to minimize the white space created by the guide_area() function of the patchwork package in plots made with ggplot2?
我用 ggplot2
包制作了 3 个地块。为了在单个图中排列图,我使用了 patchwork
包。在安排中,我在顶部放置了 2 个地块,这些地块下方的共同图例和第三个地块的共同图例下方。我用 guide_area()
函数创建了通用图例 space,但是随之创建了一大片未使用的空白区域。
如何将未使用的空白 space 保持在最低限度?
library(ggplot2)
library(patchwork)
p1 <- ggplot(data = mpg,
aes(x = fl,
y = displ)) +
geom_col(aes(fill = cty))
p2 <- ggplot(data = mpg,
aes(x = year,
y = hwy)) +
geom_point(aes(color = drv))
p3 <- ggplot(data = mpg,
aes(x = class,
y = displ)) +
geom_col() +
facet_grid(~year)
((p1+p2)/guide_area()/p3) +
plot_layout(guides = "collect") &
theme(legend.position = "bottom")
白色space保留在不同尺寸和比例的图形中(白色space用红色标记)。
在plot_layout
内使用heights = ...
。
例如,
((p1+p2)/guide_area()/p3) +
plot_layout(guides = "collect", heights = c(3,1,3)) &
theme(legend.position = "bottom")
我用 ggplot2
包制作了 3 个地块。为了在单个图中排列图,我使用了 patchwork
包。在安排中,我在顶部放置了 2 个地块,这些地块下方的共同图例和第三个地块的共同图例下方。我用 guide_area()
函数创建了通用图例 space,但是随之创建了一大片未使用的空白区域。
如何将未使用的空白 space 保持在最低限度?
library(ggplot2)
library(patchwork)
p1 <- ggplot(data = mpg,
aes(x = fl,
y = displ)) +
geom_col(aes(fill = cty))
p2 <- ggplot(data = mpg,
aes(x = year,
y = hwy)) +
geom_point(aes(color = drv))
p3 <- ggplot(data = mpg,
aes(x = class,
y = displ)) +
geom_col() +
facet_grid(~year)
((p1+p2)/guide_area()/p3) +
plot_layout(guides = "collect") &
theme(legend.position = "bottom")
白色space保留在不同尺寸和比例的图形中(白色space用红色标记)。
在plot_layout
内使用heights = ...
。
例如,
((p1+p2)/guide_area()/p3) +
plot_layout(guides = "collect", heights = c(3,1,3)) &
theme(legend.position = "bottom")