pairs, par
I would look into the code for pairs(). Among other things, it sets and
restores par(mfrow=...). I suspect this is the relevant issue, not the
use of pairs(). I would try to figure out what state a graphics device
is in after resetting par("mfrow"). When I try the following (R 2.6.0
patched, under Windows), I see a line on the plot, but not in a place
that corresponds to the axis that were drawn by the 'plot()' command:
> par(mfrow=c(2,2))
> plot(1:2)
> par(mfrow=c(1,1))
> lines(1:2,1:2)
>
(and if you want to be able to set up a new coordinate system on the
plotting device to draw on top of the plot left by pairs(), look at
par("new") & something like plot(0:1, type='n', axes=F, xlab=""))
hope this helps,
Tony Plate
Oliver Soong wrote:
Hi,
I posted over at R-help, and didn't get a response, but perhaps that
was the wrong forum for this question. I'm having some confusion over
the coordinate system after using pairs. I'm not interested in the
content of the actual pairs plot, although the number of pairs seems
to matter a bit. I'm purely interested in knowing where subsequent
points will be plotted on the device. However, after using pairs, the
par information (omd, fig, plt, and usr) don't reflect what points
does. For example:
pairs(iris[1:5])
par(xpd = NA)
points(0 - 0.01 * 1:100, 0 - 0.01 * 1:100)
points(0 - 0.01 * 1:100, 1 + 0.01 * 1:100)
points(1 + 0.01 * 1:100, 0 - 0.01 * 1:100)
points(1 + 0.01 * 1:100, 1 + 0.01 * 1:100)
par(c("omd", "fig", "plt", "usr"))
The resulting plot shows that the corners of the are approximately
0.05 user coordinate units from the boundaries of the plot region.
According to par, though, there is a margin around the plotting region
that is clearly not symmetric and does not correspond to around 0.05
units.
If we use pairs(iris[1:2]) and repeat the rest, the corners are now
0.02 user coordinate units. par provides the same information as
before.
So:
1. How do I figure out where coordinates I give to points will display
on the figure?
2. More generally (for my own understanding), why does the par
information not do what I expect? Do I have some fundamental
misunderstanding of the arrangement of plotting, figure, display, and
margin regions within the device? Is there a bug in pairs and/or par?
I'm using R 2.5.1, and this behavior occurs on a fresh R console.
Thanks!
Oliver