Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

pch3d

Plot symbols similar to base graphics


Description

This function plots symbols similarly to what the base graphics function points does when pch is specified.

Usage

pch3d(x, y = NULL, z = NULL, pch = 1, 
      bg = material3d("color")[1], cex = 1, radius, 
      color = "black", lit = FALSE, ...)

Arguments

x, y, z

The locations at which to plot in a form suitable for use in xyz.coords.

pch

A vector of integers or single characters describing the symbols to plot.

bg

The fill color(s) to use for pch from 21 to 25.

cex

A relative size of the symbol to plot.

radius

An absolute size of the symbol to plot in user coordinates.

color

The color(s) to use for symbols.

lit

Whether the object responds to lighting or just shows the displayed color directly.

...

Other material properties.

Details

The list of symbols encoded by numerical pch values is given in the points help page.

Value

A vector of object id values is returned invisibly. Separate objects will be drawn for each different combination of pch value from 0 to 25, color and bg, and another holding all the character symbols.

Note

This function is not a perfect match to how the points function works due to limitations in RGL and OpenGL. In particular:

Symbols with numbers from 1 to 25 are drawn as 3D sprites (see sprites3d), so they will resize as the window is zoomed. Letters and numbers from 32 to 255 (which are mapped to letters) are drawn using text3d, so they maintain a fixed size.

A calculation somewhat like the one in plot3d that sets the size of spheres is used to choose the size of sprites based on cex and the current scaling. This will likely need manual tweaking. Use the radius argument for a fixed size.

No special handling is done for the case of pch = ".". Use points3d for small dots.

As of rgl version 0.100.10, background and foreground colors can vary from symbol to symbol.

Author(s)

Duncan Murdoch

See Also

Examples

open3d()
i <- 0:25; x <- i %% 5; y <- rep(0, 26); z <- i %/% 5
pch3d(x, y, z, pch = i, bg = "gray", color = rainbow(26))
text3d(x, y, z + 0.3, i)
pch3d(x + 5, y, z, pch = i+65)
text3d(x + 5, y, z + 0.3, i+65)

rgl

3D Visualization Using OpenGL

v0.106.8
GPL
Authors
Duncan Murdoch [aut, cre], Daniel Adler [aut], Oleg Nenadic [ctb], Simon Urbanek [ctb], Ming Chen [ctb], Albrecht Gebhardt [ctb], Ben Bolker [ctb], Gabor Csardi [ctb], Adam Strzelecki [ctb], Alexander Senger [ctb], The R Core Team [ctb, cph], Dirk Eddelbuettel [ctb], The authors of Shiny [cph], The authors of knitr [cph], Jeroen Ooms [ctb], Yohann Demont [ctb], Joshua Ulrich [ctb], Xavier Fernandez i Marin [ctb], George Helffrich [ctb], Ivan Krylov [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.