RGL 中的多个二维背景图
Multiple 2D background plots in RGL
我正在尝试将多个背景图例放在 rgl
图上(在我的真实示例中,一个用于线,一个用于点),我希望它们位于不同的角落屏幕。似乎 rgl
的默认行为是在调用新图例时替换旧图例。以下代码修改自 rgl
legend3d
示例,说明了这一点:
library(rgl)
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
open3d()
par3d(windowRect = c(100, 100, 612, 612))
plot3d(x, y, z)
legend3d(x = 0, y = 0, xjust = 0, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
legend3d(x = 1, y = 0, xjust = 1, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
如何解决此问题并显示多个 2D 图形?
legend3d()
在plot()
之后使用legend()
制作背景。所以它不能制作多个传说。最好用bgplot3d()
.
open3d()
par3d(windowRect = c(100, 100, 612, 612))
plot3d(x, y, z)
bgplot3d({
par(mar = c(0, 0, 0, 0))
plot(0, 0, type = "n", xlim = 0:1, ylim = 0:1, xaxs = "i",
yaxs = "i", axes = FALSE, bty = "n")
legend(x = 0, y = 0, xjust = 0, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
legend(x = 1, y = 0, xjust = 1, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
})
我正在尝试将多个背景图例放在 rgl
图上(在我的真实示例中,一个用于线,一个用于点),我希望它们位于不同的角落屏幕。似乎 rgl
的默认行为是在调用新图例时替换旧图例。以下代码修改自 rgl
legend3d
示例,说明了这一点:
library(rgl)
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
open3d()
par3d(windowRect = c(100, 100, 612, 612))
plot3d(x, y, z)
legend3d(x = 0, y = 0, xjust = 0, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
legend3d(x = 1, y = 0, xjust = 1, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
如何解决此问题并显示多个 2D 图形?
legend3d()
在plot()
之后使用legend()
制作背景。所以它不能制作多个传说。最好用bgplot3d()
.
open3d()
par3d(windowRect = c(100, 100, 612, 612))
plot3d(x, y, z)
bgplot3d({
par(mar = c(0, 0, 0, 0))
plot(0, 0, type = "n", xlim = 0:1, ylim = 0:1, xaxs = "i",
yaxs = "i", axes = FALSE, bty = "n")
legend(x = 0, y = 0, xjust = 0, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
legend(x = 1, y = 0, xjust = 1, yjust = 0, legend = c("2D", "3D"), pch = c(1, 16))
})