繁体   English   中英

在R的网格中将图与Cowplot对齐

[英]Align plots with Cowplot in a grid in R

我有一个关于Cowplot中的地块对齐的问题。

我想在由3列组成的面板中对齐图(ggplot)。 第一列有2个图(垂直对齐),第二列有1个图,第三列也有两个图(垂直对齐)。

例:

# Packages
library(tidyverse)
library(cowplot)

# Create sample data
df <- data.frame(replicate(2,sample(0:10,10,rep=TRUE)))

# Create sample plots
plot.a1 <- ggplot(df, aes(x=df$X1, y=df$X2)) +
  geom_point()

plot.a2 <- plot.a1
plot.a <- plot_grid(plot.a1, plot.a2, align = "v", ncol = 1, nrow = 2)

plot.b <- plot.a1

plot.c1 <- plot.a1
plot.c2 <- plot.a1
plot.c <- plot_grid(plot.c1, plot.c2, align = "v", ncol = 1, nrow = 2)

# Create panel figure
plot_grid(plot.a, plot.b, plot.c, labels = c("A", "B", "C"), align = "h", axis = "b", nrow = 1, ncol = 3)

我希望通过水平(align = "h", axis = "b")面板(align = "h", axis = "b")的底部轴可以正确对齐,但是我做错了。

如何将列水平对齐(按底轴)?

plot_grid为生成的绘图面板制作了自己的边距。

如果需要plot.b与其他对齐,只需调用:

plot.b <- plot_grid(plot.a1)

即使它是空的。 然后,将最后一个plot_grid()调用传递给三个元素,所有元素都相同。

plot_grid(plot.a, plot.b, plot.c, labels = c("A", "B", "C"), align = "h", axis = "b", nrow = 1, ncol = 3)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM