vecscale function

Scale vectors to fill the current plot

Scale vectors to fill the current plot

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.

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

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

Returns

scale factor, the multiplier of the vectors

Examples

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)

See Also

vectors

Author(s)

Michael Friendly