如何将嵌套的plot_grid缩放到相同的大小?

我有7个地块,我把它们分成2列,一个有3个地块,另一个有4个地块。我使用cowplotplot_grid。结果几乎是完美的,但是,有3个地块的列有更大的地块。如何缩放此列以在所有图中获得相同的大小并对齐每列的第一个和最后一个图?如何将嵌套的plot_grid缩放到相同的大小?

library(ggplot2) 

library(cowplot)

Value <- seq(0,1000, by = 1000/10)

Index <- 0:10

DF <- data.frame(Index, Value)

plot1 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot2 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot3 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot4 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot5 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot6 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

plot7 <- ggplot(DF, aes(x = Index, y = Value)) +

geom_line(linetype = 2) +

theme(aspect.ratio = 0.5)

col1 <- plot_grid(plot1, plot2, plot3, align = "v", ncol = 1)

col2 <- plot_grid(plot4, plot5, plot6, plot7, align = "v", ncol = 1)

plot_grid(col1, col2, ncol = 2, align = "hv")

回答:

你可以把一个空积成你的第一列:

col1 <- plot_grid(plot1, plot2, plot3, NULL, align = "v", ncol = 1) 

但是,对我来说,这不是一个嵌套的情节格栅的情形。嵌套的小区网格专门用于将小区与复杂的安排相结合,例如一列中的一个图横跨另一列中的两行。你想要的东西,我会做一个plot_grid()通话,就像the other comment提示:

plot_grid(plot1, plot4, plot2, plot5, plot3, plot6, NULL, plot7, 

ncol = 2, align = "hv")

也请注意,当您指定一个特定的纵横比align选项不起作用。您可以指定纵横比或对齐。在大多数情况下,没有必要指定宽高比,您可以在保存图形时执行此操作。功能save_plot()特别需要宽高比选项(应用于整个图像,但不是绘图区域)。

回答:

我刚刚在上周做了这个!尝试对plot_grid进行一次调用,使用NULL来指定空白点。

myplotlist <- list(plot1, plot2, plot3, NULL, plot4, plot5, plot6, plot7, plot8) 

plot_grid(plotlist=myplotlist, align = "v", ncol = 2)

以上是 如何将嵌套的plot_grid缩放到相同的大小? 的全部内容, 来源链接: utcz.com/qa/259216.html

回到顶部