首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plot3d -一次有两个绘图

plot3d -一次有两个绘图
EN

Stack Overflow用户
提问于 2013-02-06 00:43:15
回答 3查看 8.7K关注 0票数 12

plot3d()生成了一个我可以旋转和旋转的3d图。但是当我再次调用plot3d()时,前面的图就消失了,取而代之的是下面的图。

如何才能打开一个新的XQuartz窗口,而不是旧窗口被新的3d绘图替换。

从本质上讲,我希望同时打开两个3d图。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-06 01:04:07

如下所示:

代码语言:javascript
复制
 library(rgl)

 open3d()
 x <- sort(rnorm(1000))
 y <- rnorm(1000)
 z <- rnorm(1000) + atan2(x,y)
 plot3d(x, y, z, col=rainbow(1000))

 open3d()
 x <- sort(rnorm(20))
 y <- rnorm(20)
 z <- rnorm(20) + atan2(x,y)
 plot3d(x, y, z, col=rainbow(20))

这里的关键是在第二个绘图之前调用open3d来打开一个新的“设备”。

票数 15
EN

Stack Overflow用户

发布于 2013-02-06 05:04:39

您可能会发现,第二个rgl绘图窗口恰好被放置在前一个窗口的顶部。如果你移动第二个窗口,你会看到第一个窗口仍然在那里(尽管现在没有“焦点”状态)。不需要绘制到设备以使其保持可用。使用rgl.set更改获得焦点的窗口

代码语言:javascript
复制
> open3d()
[1] 3     # might have been "1"
> open3d()
[1] 4    # Now move that 2nd  window to the side 
> rgl.set(3)
#Focus is returned to the first window.

你不能同时激活两个窗口(在获取命令的意义上),但你可以让它们都可见,如果其中一个被设置为旋转,它将在焦点转移到另一个窗口后继续旋转。如果设置了add=TRUE,还可以使用plot3d函数添加到现有绘图。

票数 3
EN

Stack Overflow用户

发布于 2019-01-11 21:44:08

“同时打开两个3d图”的另一种方法是使用library("rgl")mfrow3d。它的工作方式与经典R中的par("mfrow")相同。

以下改编的代码(来自here)在一个窗口中生成两个并排的3D绘图(2列):

代码语言:javascript
复制
library(rgl)

mfrow3d(1, 2)
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
plot3d(x, y, z, col=rainbow(1000))

x <- sort(rnorm(20))
y <- rnorm(20)
z <- rnorm(20) + atan2(x,y)
plot3d(x, y, z, col=rainbow(20))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14712497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档