Plotting SpatialPolygonsDataFrame using ggplot2
Hi Hadley, That worked like a charm. Thanks. cheers, Paul
hadley wickham wrote:
Hi Paul, You're missing the group specification: ggplot(dum, aes(x = long, y = lat)) + geom_path(aes(group = group)) Hadley On Tue, Apr 27, 2010 at 4:17 AM, Paul Hiemstra <p.hiemstra at geo.uu.nl> wrote:
Hi people, I have a question regarding plotting a SpatialPolygonsDataFrame using ggplot2. To convert the SPDF to a dataframe with the coordinates I already use the excellent solution provided by Hadley in: http://tolstoy.newcastle.edu.au/R/e6/help/09/03/8668.html Some example code: library(maptools) library(ggplot2) x <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1], IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66")) dum = fortify(x, region = "CNTY_ID") ggplot(dum, aes(x = long, y = lat)) + geom_path() My problem is that not only the counties are drawn, but also lines between the end point of one countie polygon and the beginning of the next. I solve this right now by adding the counties I want to plot one by one using: p + geom_path(subset(dum, id == 1) + geom_path(subset(dum, id == 2) + ... etc This is of course a solution, but not an elegant one. Creating a new ggplot object like: unique_ids = unique(dum$id) bla = ggplot(subset(dum, id == unique_ids[1]), aes(x =long, y = lat)) + geom_path() for(id in unique_ids[2:length(unique_ids)]) { bla = bla + layer(data = subset(dum, id == id), mapping = aes(x =long, y = lat), geom = "path") } print(bla) Has exactly the same problem as using ggplot(dum, aes(x = long, y = lat)) + geom_path(). I browsed the net and the maling list and could not find the answer, only references to the fortify() solution of Hadley. Anybody have an idea for an elegant solution to the problem? cheers, Paul -- Drs. Paul Hiemstra Department of Physical Geography Faculty of Geosciences University of Utrecht Heidelberglaan 2 P.O. Box 80.115 3508 TC Utrecht Phone: +3130 274 3113 Mon-Tue Phone: +3130 253 5773 Wed-Fri http://intamap.geo.uu.nl/~paul http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Drs. Paul Hiemstra Department of Physical Geography Faculty of Geosciences University of Utrecht Heidelberglaan 2 P.O. Box 80.115 3508 TC Utrecht Phone: +3130 274 3113 Mon-Tue Phone: +3130 253 5773 Wed-Fri http://intamap.geo.uu.nl/~paul http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770