Variables may be mapped to the z direction just like the x and y aesthetics in ggplot2.
The behaviour is a little different though in that:
x and y aesthetics are naturally confined to the size of the page.z direction has no natural boundary in a plotscale_z_continuous() and scale_z_discrete()
By default z values are scaled into the range [1, 100].
How high something at the maximum z coordinate actually appears on a given plot depends 3 things.
range argument to scale_z_continuous()/scale_z_discrete()
zscale argument to devoutrgl::rgldev() - which defaults to 1, and further applies a multiplicative scale factor to the extents in the z-direction.dpi argumnet to devoutrgl::rgldev(). This defaults to dpi=72 which is useful for screen presentation. Higher values, which may be useful for saving to PNG, will cause a distortion in the Z scaling.range = c(1, 100)
n <- seq(1, 1000, length.out = 20)
plot_df <- data.frame(x=n, y=n, z=n+1000)
p <- ggplot(plot_df) +
geom_point_z(aes(x=x, y=y, z=z, colour = z), extrude = TRUE, extrude_face_alpha = 0.25)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Render Plot in 3d with {devoutrgl}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
devoutrgl::rgldev(fov = 30, view_angle = -30)
p
invisible(dev.off())Use your mouse, mouse buttons and scrollwheel to manipulate the 3d plot
range = c(1, 500)
p <- ggplot(plot_df) +
geom_point_z(aes(x=x, y=y, z=z, colour = z), extrude = TRUE, extrude_face_alpha = 0.25) +
scale_z_continuous(range = c(1, 500))
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Render Plot in 3d with {devoutrgl}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
devoutrgl::rgldev(fov = 30, view_angle = -30)
p
invisible(dev.off())Use your mouse, mouse buttons and scrollwheel to manipulate the 3d plot
range = c(100, 300)
p <- ggplot(plot_df) +
geom_point_z(aes(x=x, y=y, z=z, colour = z),
extrude = TRUE, extrude_face_alpha = 0.25, extrude_z=100) +
scale_z_continuous(range = c(100, 200))
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Render Plot in 3d with {devoutrgl}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
devoutrgl::rgldev(fov = 30, view_angle = -30)
p
invisible(dev.off())Use your mouse, mouse buttons and scrollwheel to manipulate the 3d plot
xscale > 1: range = c(1, 100)
Set rgldev(zscale = ...) to change the z scaling at the device level.
n <- seq(1, 1000, length.out = 20)
plot_df <- data.frame(x=n, y=n, z=n+1000)
p <- ggplot(plot_df) +
geom_point_z(aes(x=x, y=y, z=z, colour = z), extrude = TRUE, extrude_face_alpha = 0.25)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Render Plot in 3d with {devoutrgl}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
devoutrgl::rgldev(fov = 30, view_angle = -30, zscale = 10)
p
invisible(dev.off())Use your mouse, mouse buttons and scrollwheel to manipulate the 3d plot