如何使具有多于两列的plot.data.frame与par(mfrow)一起使用

时间:2019-03-18 17:33:42

标签: r plot

当我在具有两个[数字]列且设置为plot的数据帧上调用par时,得到了两列绘图时,我得到了预期的行为:

par(mfrow = c(1, 2))
d <- data.frame(x=0:5, z=0:5)
plot(d)

plotting canvas with left half filled by plot

但是,当我使用具有多于两列的数据框参数调用plot时,它似乎覆盖了我的par的行/列设置。无论我的par设置如何,该图都会填满整个画布。

par(mfrow = c(1, 2))
d <- data.frame(x=0:5, y=5:0, z=0:5)
plot(d)

plotting canvas with entire area filled by plot

这是预期的行为吗?有什么方法可以并排获得第二个示例中给出的两个类似的图?

1 个答案:

答案 0 :(得分:0)

当data.frame包含多于2列时,plot(d)调用pairs(d)生成散点图矩阵(有关更多信息,请参见R help-?plot.data.frame和?pairs)。 。 对于您的情况,如果您想并排生成2个图z〜x和y〜x,则可以执行以下操作:

par(mfrow=c(1,2))
d <- data.frame(x=0:5, y=5:0, z=0:5)
plot(d[,-3])  # plot y~x
plot(d[,-2])  # plot z~x
par(mfrow=c(1,1))

enter image description here