我使用persp3d
函数获得了许多光谱数据图,并且使用open3d
可以在不同的窗口中打开它们(见下文)。
我的问题是,是否有可能通过提供许多行和列在同一窗口中打开它们?
如果是这样,还有可能我用鼠标旋转适用于所有显示的图吗?
下面,我已经找到了一种在不重叠的情况下在不同窗口中打开它们的方法,因此我可以分别检查它们(在代码中:“ t_ number ”和“ w”是与“ F number ”矩阵)。
我尝试使用plot3d
和mfrow3d
命令执行此操作,导致一个窗口中包含许多图(例如发布到this question的答案,但是plot3d函数无法执行)给出足够的数据图(光谱数据看起来与persp3d
中的数据不同)。
open3d(
persp3d(t_134, w, F134, col = col,
xlab = "", ylab = "", zlab = "", main = "F134",
)
)
open3d(
persp3d(t_135, w, F135, col = col,
xlab = "", ylab = "", zlab = "", main = "F135"
)
)
[...]
如何将它们绘制在一个窗口中并全部旋转?
答案 0 :(得分:0)
您使用open3d( ... plot function ...)
是错误的。 open3d
的参数控制窗口的特征。您不应该将rgl
的绘图结果传递给它。
要在一个窗口中打开多个图,请正确调用open3d
后,调用mfrow3d(rows, cols, sharedMouse = TRUE)
来设置图阵列。它们都将响应其中任何一个的鼠标操作。
例如:
library(rgl)
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
open3d()
mfrow3d(2, 2, sharedMouse = TRUE)
plot3d(x, y, z, col = "red")
plot3d(x, y, z, col = "green")
plot3d(x, y, z, col = "blue")
plot3d(x, y, z, col = "yellow")
如果您不希望使用等大小的图数组,还可以使用其他功能:layout3d
等。