pch3d {rgl} | R Documentation

## 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

`points3d`, `text3d`, `plot3d`, `points`.

### 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)

[Package rgl version 0.100.19 Index]