gpt4 book ai didi

r - 为 facet_grid/facet_wrap 图的每一行分配唯一的宽度

转载 作者:行者123 更新时间:2023-12-04 11:18:22 25 4
gpt4 key购买 nike

我希望为 R 中的一列、分面包装图的每一行分配一个自定义宽度。(我知道这完全是非标准的。)
grid.arrange我可以使用以下代码段为分面包裹的像图的每一行分配一个唯一的高度:

group1 <- seq(1, 10, 2)
group2 <- seq(1, 20, 3)
x = c(group1, group2)
mydf <- data.frame (X =x , Y = rnorm (length (x),5,1),
groups = c(rep(1, length (group1)), rep(2, length(group2))))

plot1 <- ggplot(mydf, aes(X, Y)) + geom_point()
plot2 <- ggplot(mydf, aes(X, Y)) + geom_point()

grid.arrange(plot1, plot2, heights=c(1,2))
上面的代码给绘图的每一行一个唯一的高度:
enter image description here
我想知道是否可以为绘图的每一行分配一个唯一的宽度,而不是为每一行分配一个唯一的高度。任何 ggplot2 扩展都可以做到这一点吗?

最佳答案

是的,如果您使用 plot.margin,这是可能的。 ggplot 中的功能 theme() .您可以通过执行以下操作将每个绘图宽度设置为页面总长度的百分比:

plot1 <- ggplot(mydf, aes(X, Y)) + geom_point()+theme( plot.margin = unit(c(0.01,0.5,0.01,0.01), "npc"))
plot2 <- ggplot(mydf, aes(X, Y)) + geom_point()+theme( plot.margin = unit(c(0.01,0.2,0.01,0.01), "npc"))

当我们使用 npc s 作为我们在 plot.margin 中感兴趣的单位调用,我们设置相对于页面宽度。 0.50.2对应右边距。如 npc增加,你的情节会变得越小。
grid.arrange(plot1, plot2, heights=c(1,2))

enter image description here

关于r - 为 facet_grid/facet_wrap 图的每一行分配唯一的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837921/

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