gpt4 book ai didi

r - 将绘图与 R 网格中的 Cowplot 对齐

转载 作者:行者123 更新时间:2023-12-02 03:27:24 25 4
gpt4 key购买 nike

我有一个关于 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")绘图的底部轴可以正确对齐,但是我做错了。

如何水平对齐列(通过底部轴)?

最佳答案

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)

enter image description here

关于r - 将绘图与 R 网格中的 Cowplot 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52878119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com