When setting up a plot to later add further elements to, generally
your life will be made easier if you still use the
plot3js()
function to achieve basic plot setup but do not
supply and x, y or z data to plot.
However it is of course possible to call the lower level functions
that plot3js()
uses but to call them directly as
demonstrated in a simple example below.
library(r3js)
# Generate data
<- runif(20, 0, 10)
x <- runif(20, 0, 20)
y <- runif(20, 0, 1)
z
# Initialise new plot
<- plot3js.new()
data3js
# Set plot dimensions and aspect ratios
<- plot3js.window(
data3js
data3js,xlim = c(0,10),
ylim = c(0,20),
zlim = c(0,1),
aspect = c(1, 1, 1)
)
# Add box
<- box3js(data3js, col = "grey50")
data3js
# Add axes
<- axis3js(data3js, side = "x")
data3js <- axis3js(data3js, side = "y")
data3js <- axis3js(data3js, side = "z")
data3js
# Add axes grids
<- grid3js(data3js, col = "grey80")
data3js
# Plot points
<- points3js(data3js, x, y, z, col = rainbow(20))
data3js
# Show the plot
r3js(data3js)