bgplot3d.Rd
Add a 2D plot or a legend in the background of an RGL window.
bgplot3d(expression, bg.color = getr3dDefaults("bg", "color"),
magnify = 1, ...)
legend3d(...)
The bgplot3d
function opens a png
device and executes expression
,
producing a plot there. This plot is then used as a bitmap background for the current
RGL subscene.
The legend3d
function draws a standard 2D legend to the background of the current
subscene by calling bgplot3d
to open a device, and setting up a plot region there
to fill the whole display.
The bgplot3d
function invisibly returns the ID of the background object that was created,
with attribute "value"
holding the value returned when the expression
was
evaluated.
The legend3d
function does similarly. The "value"
attribute is the result
of the call to legend
. The scaling of the coordinates runs from 0 to 1
in X and Y.
Because the background plots are drawn as bitmaps, they do not resize very gracefully. It's best to size your window first, then draw the background at that size.
bg3d
for other background options.
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
open3d()
# Needs to be a bigger window than the default
par3d(windowRect = c(100, 100, 612, 612))
parent <- currentSubscene3d()
mfrow3d(2, 2)
plot3d(x, y, z)
next3d(reuse = FALSE)
bgplot3d(plot(y, z))
next3d(reuse = FALSE)
bgplot3d(plot(x, z))
next3d(reuse = FALSE)
legend3d("center", c("2D Points", "3D Points"), pch = c(1, 16))
3D plot
useSubscene3d(parent)