Learn R Programming

flexclust (version 1.4-1)

projAxes: Add Arrows for Projected Axes to a Plot

Description

Adds arrows for original coordinate axes to a projection plot.

Usage

projAxes(object, which=1:2, center=NULL,
                     col="red", radius=NULL,
                     minradius=0.1, textargs=list(col=col),
                     col.names=getColnames(object),
                     which.names="", group = NULL, groupFun = colMeans,
                     plot=TRUE, ...)

placeLabels(object) # S4 method for projAxes placeLabels(object)

Arguments

object

Return value of a projection method like prcomp.

which

Index number of dimensions of (projected) input space that have been plotted.

center

Center of the coordinate system to use in projected space. Default is the center of the plotting region.

col

Color of arrows.

radius

Relative size of the arrows.

minradius

Minimum radius of arrows to include (relative to arrow size).

textargs

List of arguments for text.

col.names

Variable names of the original data.

which.names

A regular expression which variable names to include in the plot.

group

An optional grouping variable for the original coordinates. Coordinates with group NA are omitted.

groupFun

Function used to aggregate the projected coordinates if group is specified.

plot

Logical,if TRUE the axes are added to the current plot.

Passed to arrows.

Value

projAxes invisibly returns an object of class "projAxes", which can be added to an existing plot by its plot method.

Examples

Run this code
# NOT RUN {
data(milk)
milk.pca <- prcomp(milk, scale=TRUE)

## create a biplot step by step
plot(predict(milk.pca), type="n")
text(predict(milk.pca), rownames(milk), col="green", cex=0.8)
projAxes(milk.pca)

## the same, but arrows are blue, centered at origin and all arrows are
## plotted 
plot(predict(milk.pca), type="n")
text(predict(milk.pca), rownames(milk), col="green", cex=0.8)
projAxes(milk.pca, col="blue", center=0, minradius=0)

## use points instead of text, plot PC2 and PC3, manual radius
## specification, store result
plot(predict(milk.pca)[,c(2,3)])
arr <- projAxes(milk.pca, which=c(2,3), radius=1.2, plot=FALSE)
plot(arr)

# }
# NOT RUN {
## manually try to find new places for the labels: each arrow is marked
## active in turn, use the left mouse button to find a better location
## for the label. Use the right mouse button to go on to the next
## variable.

arr1 <- placeLabels(arr)

## now do the plot again:
plot(predict(milk.pca)[,c(2,3)])
plot(arr1)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab