gpt4 book ai didi

r - 如何修复多个 ggplot 图的大小?

转载 作者:行者123 更新时间:2023-12-05 03:30:15 25 4
gpt4 key购买 nike

我注意到在组合多个 ggplot 时,其中一个的值比另一个大得多,因为前者的 y 轴刻度较大(由于数字较大),它使图本身更小。举例说明:

df <- data.frame('name'=1:30,'v1'=rpois(30, 1),'v2'=rpois(30, 100))
p1 <- ggplot(data=df,aes(x=name,y=v1)) + geom_bar(stat = 'identity')
p2 <- ggplot(data=df,aes(x=name,y=v2)) + geom_bar(stat = 'identity')
combined <- ggarrange(p1, p2, ncol=1, nrow=2)
print(combined)

two barcharts produced

请注意,底部图比顶部图略小,因为 y 刻度中的数字更大。无论如何,有没有办法使地 block 本身的大小完全相同? (这不涉及手动更改刻度大小,直到绘图看起来大致相同)。我尝试使用其他地方建议的 ggplotGrob(),但它似乎没有帮助。谢谢。

最佳答案

{patchwork}默认情况下,库可以很好地做到这一点。

library(tidyverse)
library(patchwork)

df <- data.frame('name'=1:30,'v1'=rpois(30, 1),'v2'=rpois(30, 100))
p1 <- ggplot(data=df,aes(x=name,y=v1)) + geom_bar(stat = 'identity')
p2 <- ggplot(data=df,aes(x=name,y=v2)) + geom_bar(stat = 'identity')

p1/p2

reprex package 创建于 2022-01-27 (v2.0.1)

关于r - 如何修复多个 ggplot 图的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70886392/

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