【发布时间】:2011-03-10 04:08:18
【问题描述】:
我试图通过垂直堆叠两个图 (a) 和 (b) 来制作一个图(即,具有 2 行 1 列的多重图)。
虽然我可以对我尝试过的其他图执行此操作,但使用 ODE 求解器包 deSolve 从数据生成的以下两个图拒绝合并。在屏幕上,情节 (a) 闪过,而我正看着情节 (b)。将绘图保存为 1 个 pdf 文件,其中 2 页(每个绘图在单独的页面上),而不是 1 个 pdf 文件和 1 页(我正在寻找的两个绘图堆叠成一个图)。
从代码中可以看出,我尝试了 mfrow 和布局方法都无济于事。任何帮助将不胜感激。
谢谢, 凯莉
df1 <-function(t,y,mu)( list(c(y[2], mu*y[1]^3 - y[1] + 0.005 * cos(t))))
library(deSolve)
yini <- c(y1=0, y2=0)
df2 <-ode(y = yini, func = df1, times = 0:1050, parms = 0.1667)
t <- seq(0, 1050, length=10000)
x <- 0.24 * (1 - cos(0.012 * t)) * cos(t + sin(0.012 * t))
pdf("c:/users/name/Desktop/figure2.pdf", height = 3, width=8)
# par(mfrow = c(2, 1))
layout(matrix(c(1, 2), 2, 1, byrow = TRUE))
plot(df2, type="l", which="y1", ylab="x", xlab="t", main="(a)")
plot(t, x, type="l", main="(b)")
dev.off()
【问题讨论】:
-
我认为问题在于 deSolve 对象有自己的绘图方法,并且覆盖了布局发生的情况。参见 ?plot.deSolve
标签: r