如何在R中增加多个图的输出大小

p1tboqfb  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(109)

我尝试使用mcmc_combo()函数(迹线和密度图)调整由多个变量的后验绘制图组成的输出的高度和宽度,因为大小不随变量的数量而变化:
代码示例:

library(cmdstanr)
library(bayesplot)
library(dplyr)

draws <- fit2$draws(
    variables = param[-5],
    inc_warmup = TRUE,
    format = "df"
)
pars <- grep("lam", names(draws), value = TRUE)

mcmc_combo(draws, pars = pars)

输出:

如图所示,图形被截断得太多,无法完全显示y轴。
然后我尝试使用lapply()逐个绘制变量:

lapply(pars, function(x) {mcmc_combo(draws, pars = x)})


正如您所看到的,绘图窗口保持相同的大小,图形被拉伸以适合窗口。
如果我能固定每个单独图形的大小,并让绘图窗口适应这一点,那就更好了。我怎么能做到这一点?

8ehkhllq

8ehkhllq1#

使用不同的设备,如pngpdf,如其他地方所述。技巧是调整height=参数。你也可以使用图形化参数,比如?mar(只要你的方法不使用网格)。

set.seed(42)

png('foo.png', width=400, height=1200)
par(mfrow=c(9, 2))
lapply(seq_len(18), \(i) hist(rnorm(100), "FD", col=4)) |> invisible()
dev.off()

将RStudio绘图可视化视为预览窗口。

相关问题