Use base graphics for RGL background
Add a 2D plot or a legend in the background of an RGL window.
Any plotting commands to produce a plot.
Arguments to pass to the
bgplot3d function opens a
png device and executes
producing a plot there. This plot is then used as a bitmap background for the current
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.
bgplot3d function invisibly returns the ID of the background object that was created,
"value" holding the value returned when 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
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)) Sys.sleep(0.1) # Allow sluggish window managers to catch up 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)) useSubscene3d(parent)