squishplot {TeachingDemos} | R Documentation |
Squish the plotting area to a specified aspect ratio
Description
Adjusts the plotting area to a specific aspect ratio. This is
different from using the asp
argument in that it puts the extra
space in the margins rather than inside the plotting region.
Usage
squishplot(xlim, ylim, asp = 1, newplot=TRUE)
Arguments
xlim |
The x limits of the plot, or the entire x vector. |
ylim |
The y limits of the plot, or the entire y vector. |
asp |
The y/x aspect ratio. |
newplot |
Should plot.new() be called before making the calculations. |
Details
This function sets the plot area of the current graph device so that the following plot command will plot with the specified aspect ratio.
This is different from using the asp
argument to
plot.default
in where the created white space goes (see the
example). Using plot.default
will place the whitespace within
the plotting region and can result in the axes and annotations being
quite far from the actual data. This command sets up the plotting
region so that the extra whitespace is in the margin areas and moves
the axes and annotations close to the data.
Any other desired parameter settings or resizing of the graphics
device should be set before calling
squishplot
, especially settings dealing with multiple figures
or margin areas.
After plotting, the parameters need to be reset or later plots may come out wrong.
Value
Invisible list containing the 'plt
' values from par
that
were in place before the call to squishplot
that can be used to
reset the graphical parameters after plotting is finished.
Note
Remember to set other graphical parameters, then call
squishplot
, then call the plotting function(s), then reset the
parameters.
Author(s)
Greg Snow 538280@gmail.com
See Also
plot.default
, plot.window
,
par
Examples
x <- rnorm(25, 10, 2 )
y <- 5 + 1.5*x + rnorm(25,0,2)
par(mfrow=c(1,3))
plot(x,y)
op <- squishplot(x,y,1)
plot(x,y)
par(op)
plot(x,y, asp=1)