gpt4 book ai didi

r - 如何让 plot.ts 接受 par 或布局?

转载 作者:行者123 更新时间:2023-12-04 04:07:46 24 4
gpt4 key购买 nike

我尝试将 parplot.ts 一起使用,但没有成功。检查我发现的代码,plot.ts 在内部使用了 par,这可能会导致冲突。但是,layout 也不起作用。这是我的两种方法的代码,这些图是一个接一个地绘制的,但不是与这两种方法并排绘制的:

## using `par`
op <- par(mfrow=c(1, 2))
plot(stl(co2, s.window=21), plot.type="single")
plot(stl(log(co2), s.window=21), plot.type="single")
par(op)

## using `layout`
op <- par(no.readonly=TRUE)
layout(matrix(1:2, 1))
par(mfrow=c(1, 2))
plot(stl(co2, s.window=21), plot.type="single")
plot(stl(log(co2), s.window=21), plot.type="single")
par(op)

我很惊讶这个问题似乎没有被问过。我怎样才能让 plot.ts 函数接受 parlayout 或任何 hack 来并排绘图?

最佳答案

您应该能够通过对 stats 包中的 plot.STL 函数进行一些修改来做到这一点。

只需注释掉第 15:19 行

#15:  if (length(set.pars)) {
#16: oldpar <- do.call("par", as.list(names(set.pars)))
#17: on.exit(par(oldpar), add = TRUE)
#18: do.call("par", set.pars)
#19: }

然后使用带有 8x2 矩阵的 layout:

layout(matrix(1:8, ncol=2, byrow=FALSE))
layout.show(8)
op <- par(mar = c(0, 4, 0, 4), oma = c(2, 0, 2, 0), tck = -0.02)
plot(stl(co2, s.window=21), plot.type="single")
plot(stl(log(co2), s.window=21), plot.type="single")
par(op)

enter image description here

关于r - 如何让 plot.ts 接受 par 或布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62241664/

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