R-一个窗口中的多个3D散点图

时间:2016-11-08 19:46:41

标签: r plot scatter3d

我想在一个窗口中绘制多个3D散点图。例如,使用2D散点图:

# data
x1 <- rnorm(10)
y1 <- rnorm(10)
x2 <- rnorm(10)
y3 <- rnorm(10)

# two plots side-by-side in one window
par(mfrow=c(1,2))
plot(y1 ~ x1)
plot(y2 ~ x2)

我正在使用包scatterplot3d,但mfrow似乎不起作用:

# 3D data
z <- seq(-10, 10, 0.01)
x1 <- cos(z)
x2 <- cos(z+1)
y <- sin(z)

# try to plot side by side
par(mfrow=c(1,2))
scatterplot3d(x1, y, z)
scatterplot3d(x2, y, z)

第二个图不是并排显示,而是出现在第一个图的顶部。如何使用R在scatterplot3d或其他包中将多个3D散点图放在一个绘图窗口中?此外,我希望能够将3D散点图和其他常规2D图放在同一个绘图窗口中。

1 个答案:

答案 0 :(得分:3)

您可以使用layout代替mfrow。例如:

layout(matrix(c(1, 2), 1)

z <- seq(-10, 10, 0.01)
x <- cos(z)
y <- sin(z)
scatterplot3d(x, y, z, highlight.3d=TRUE, col.axis="blue",
              col.grid="lightblue", main="scatterplot3d - 1", pch=20)
scatterplot3d(x, y, z, highlight.3d=TRUE, col.axis="blue",
              col.grid="lightblue", main="scatterplot3d - 1", pch=20)]

enter image description here