do3d {made4} | R Documentation

## Generate 3D graph(s) using scatterplot3d

### Description

`do3d` is a wrapper for scatterplot3d. do3d will draw a single 3D xyz plot and will plot each group of points in a different colour, given a factor.

`rotate3d` calls `do3d` to draw multiple 3D plots in which each plot is marginally rotated on the x-y axis.

### Usage

    do3d(dataset, x = 1, y = 2, z = 3, angle = 40, classvec = NULL, classcol
    = NULL, col = NULL, cex.lab=0.3, pch=19, cex.symbols=1, ...)
    rotate3d(dataset, x = 1, y = 2, z = 3, beg = 180, end = 360, step = 12,
    savefiles = FALSE, classvec = NULL, classcol = NULL, col = NULL, ...)

### Arguments

`dataset` | XYZ coordinates to be plotted. A `matrix` or `data.frame` with 3 or more columns. Usually results from multivariate analysis, such as the \$co or \$li coordinates from a PCA `dudi.pca`, or COA `dudi.coa` or the \$ls, \$co coordinates from `bga`.
`x` | Numeric, the column number for the x-axis, the default is 1 (that is dataset[,1])
`y` | Numeric, the column number for the y-axis, the default is 2 (that is dataset[,2])
`z` | Numeric, the column number for the z-axis, the default is 3 (that is dataset[,3])
`angle` | Numeric, the angle between x and y axis. Note the result depends on scaling. See `scatterplot3d`
`classvec` | A `factor` or `vector` which describes the classes in dataset
`classcol` | A `factor` or `vector` which list the colours for each of the classes in the dataset. By default NULL. When NULL, `getcol` is used to obtain an optimum set of colours of the classes in classvec.
`cex.lab` | Numeric. The magnification to be used for the axis annotation relative to the current default text and symbol size. Default is 0.3
`pch` | Integer specifying a symbol or single character to be used when plotting points. The default is pch= 19
`cex.symbols` | Numeric. The magnification to be used for the symbols relative to the current default text size. Default is 1
`col` | A character indicating a colour. To be used if all points are to be one colour. If classvec, classcol and col are all NULL. all points will be drawn in red by default.
`beg` | Numeric. The starting angle between the x and y axis for rotate3d. Rotate3d will draw plots in which they are rotated from angle beg to angle end
`end` | Numeric. The final angle between the x and y axis for `rotate3d`. Rotate3d will draw plots in which they are rotated from angle `beg` to angle `end`
`step` | Numeric. Increment of the sequence between the starting angle beg and the final angle end.
`savefiles` | Logical, indicating whether the plot should be saved as a pdf file. The default is FALSE
`...` | further arguments passed to or from other methods

### Details

This calls scatterplot3d to plot a 3d representation of results.

It is also worth exploring the package `rgl` which enables dynamic 3d plot (that can be rotated)

library(rgl) plot3d(khan.coa$co[,1], khan.coa$co[,2],khan.coa$co[,3], size=4, col=khan$train.classes) rgl.snapshot(file="test.png", top=TRUE) rgl.close()

### Value

Produces plots of the xyz coordinates.

### Author(s)

Aedin Culhane

### See Also

See Also `scatterplot3d`

### Examples

    data(khan)
    if (require(ade4, quiet = TRUE)) {
    khan.coa<-dudi.coa(khan$train, scannf=FALSE, nf=5)
    }
    par(mfrow=c(2,1))
    do3d(khan.coa$co, classvec=khan$train.classes)
    do3d(khan.coa$co, col="blue")
    rotate3d(khan.coa$co,classvec=khan$train.classes)
    khan.bga<-bga(khan$train, khan$train.classes)
    plot.new()
    par(bg="black")
    do3d(khan.bga$bet$ls, classvec=khan$train.classes)

[Package made4 version 1.64.0 Index]