[R-sig-Geo] spplot handling of overlapping points?
Edzer Pebesma
edzer.pebesma at uni-muenster.de
Mon Mar 5 14:40:22 CET 2012
This has now been changed/repared in sp on r-forge (svn), and will
appear from sp 0.9-97 on. A test run would be:
library(sp)
xyz = data.frame(expand.grid(x=1:10,y=1:10),rnorm(100))
coordinates(xyz)=~x+y
spplot(xyz, cex=10)
which used to plot points in value order, and does now in data record order.
I put up resulting graphs, for comparison, at
http://ifgi.uni-muenster.de/~epebe_01/xyz.html
As this change may make some of your spplot's for points different, if
there are objections against this change (which I consider an
improvement, if not a bug fix), it is time now to let me / us know.
On 03/02/2012 09:03 PM, MacQueen, Don wrote:
> I have a SpatialPointsDataFrame object in which many points are very close
> together, such that the markers (plotting characters) tend to overlap. (Of
> course, this depends on marker size and the scale at which I plot; if I
> "zoom in" there is less overlap.)
>
> It appears that when markers overlap, spplot() places a marker associated
> with the larger value after, and therefore on top of, a marker associated
> with a smaller value.
>
> Am I correct? Or more generally, what is the algorithm that determines the
> order in which markers are added?
>
>
> I have searched ?spplot and related help pages and haven't found an
> explanation (at least, not yet).
>
> I can add that I don't believe markers are placed in the order in which
> they appear in the SpatialPointsDataFrame. I say this because when I
> attempt to reproduce an spplot using base graphics plot() I have to sort
> from smallest to largest value to succeed.
>
> I can probably provide a small reproducible example if necessary, but I'm
> hoping it's not necessary.
>
> Here are my actual commands.
>
> tmps is the SpatialPointsDataFrame.
> tmp is coordinates(tmps)
> (they have the same number of rows in the same order)
>
> Note that I'm using the cuts argument to break a continuous variable
> ('cpm2') into bins. I have carefully matched the colors in tmps$col2 with
> the cbin.cols object passed to spplot(), and the break points for the bin
> boundaries, so I believe that everything else that could affect the final
> appearance, other than the order in which the markers are placed, is
> controlled.
>
> #1 using spplot
> spplot(tmps,c('cpm2'),
> key.space='right',
> legendEntries=cbin.lbls,
> cuts=cbin.brks,
> col.regions=cbin.cols,
> cex=0.4)
>
> #2 using base graphics
> plot(tmp[,1],tmp[,2], asp=1, cex=0.6, pch=16, col=tmps$col2)
>
>
>
> Thanks
> -Don
>
--
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster
Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
8333081, Fax: +49 251 8339763 http://ifgi.uni-muenster.de
http://www.52north.org/geostatistics e.pebesma at wwu.de
More information about the R-sig-Geo
mailing list