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/

_______________________________________________
R-sig-Geo mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to