Learn R Programming

candisc (version 0.9.0)

vecscale: Scale vectors to fill the current plot

Description

Calculates a scale factor so that a collection of vectors nearly fills the current plot, that is, the longest vector does not extend beyond the plot region.

Usage

vecscale(
  vectors,
  bbox = matrix(par("usr"), 2, 2),
  origin = c(0, 0),
  factor = 0.95
)

Value

scale factor, the multiplier of the vectors

Arguments

vectors

a two-column matrix giving the end points of a collection of vectors

bbox

the bounding box of the containing plot region within which the vectors are to be plotted

origin

origin of the vectors

factor

maximum length of the rescaled vectors relative to the maximum possible

Author

Michael Friendly

See Also

vectors

Examples

Run this code

bbox <- matrix(c(-3, 3, -2, 2), 2, 2)
colnames(bbox) <- c("x","y")
rownames(bbox) <- c("min", "max")
bbox

vecs <- matrix( runif(10, -1, 1), 5, 2)

plot(bbox)
arrows(0, 0, vecs[,1], vecs[,2], angle=10, col="red")
(s <- vecscale(vecs))
arrows(0, 0, s*vecs[,1], s*vecs[,2], angle=10)

Run the code above in your browser using DataLab