[R-sig-Geo] spplot: labels on maps / variables on different scales

Edzer Pebesma edzer.pebesma at uni-muenster.de
Tue Aug 26 17:21:24 CEST 2008



Michael Friendly wrote:
> Edzer Pebesma wrote:
>>
>>
>> Michael Friendly wrote:
>>> Two short questions about working with maps:
>>>
>>> 1.  I'm reading a shapefile with character labels for the regions 
>>> (FSA).  I can add the labels using plot(),
>>> but when I try the same thing using spplot(), the labels are in the 
>>> wrong positions -- they all seem to be
>>> shrunk somewhat in toward the center of the map.  What am I doing 
>>> wrong?
>>>
>>> # this doesn't work-- labels in wrong position
>>> spplot(toronto,"FSA_NAME", colorkey=FALSE)
>>> text(coordinates(toronto), labels=as.character(toronto$FSA), cex=0.4)
>> Right: text() works with base graphics, not with lattice on which 
>> spplot is built.
>>
>> Something like this should work:
>> spplot(toronto,"FSA_NAME", colorkey=FALSE,
>>    sp.layout = list("sp.text", coordinates(toronto), 
>> as.character(toronto$FSA), cex=0.4))
>>
> Great!  Now I also know where to look to generalize this.
>>>
>>> 2. I have a bunch of attribute variables for the geographic regions, 
>>> all on different scales.  Id like to
>>> produce a set of comparative maps in the same figure (say with 
>>> spplot()) with each attribute shaded
>>> by its quantiles, e.g., 5 classes each.  Do I have to precompute 
>>> these first, or is there something I can do in the call
>>> to spplot() to have this done, using the variables in the 
>>> SpatialPolygonsDataFrame?
>> What exactly did you mean by "all on different scales"? They have 
>> different polygon structures?
> No - some of the attribute values are percents, some are quantitative 
> & positively skewed, like Income. If I do
>
> spplot(toronto, c("Household.Income","Unemployed","University"))
> a single scale is applied to all three, so the two % variables are 
> shaded uniformly in the lowest range.
> What I'd like is to apply a function to take each of these and recode 
> into quantiles for that variable.
>
> It's partly that my data variables are now in the map object and, from 
> the help, I only know how to refer to
> zcol= names of these, rather than some transformations on the 
> underlying data.
>
I see what you mean; yes this needs precomputation. Something like a 
formula interface that gets evaluated would indeed be nice too!

-- 
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/




More information about the R-sig-Geo mailing list