2016-04-29 11 views
-1

Gibt es eine Möglichkeit, diese drei Karten mit Facetten zu kombinieren?geom_polygon in ggplot2 - Facetten für verschiedene Füllungen?

emi <- readShapePoly('prov2011_g.shp') 
names(emi) <- c('REG', 'ID', 'NOME', 'SHAPE', 'AREA', 'MIG1', 'MIG2', 'MIG3') 
emi_geom <- poly_coords(emi) 

map <- qplot(PolyCoordsY, PolyCoordsX, data = emi_geom, group = Poly_Name, geom = 'polygon', fill = MIG1) 

map1 <- qplot(PolyCoordsY, PolyCoordsX, data = emi_geom, group = Poly_Name, geom = 'polygon', fill = MIG2) 

map2 <- qplot(PolyCoordsY, PolyCoordsX, data = emi_geom, group = Poly_Name, geom = 'polygon', fill = MIG3) 

Ich folgte diesem großes Tutorial (http://www.r-bloggers.com/maps-with-ggplot2/). Die Funktion poly_coords extrahiert Koordinaten aus einer Shapefile. Ich habe versucht, Schmelze (reshape2) zu verwenden, aber ich weiß nicht, wie man es auf diesen Fall anwendet - mit anderen geom_ * ist viel einfacher. Hoffe, du kannst mir helfen.

+0

ich den Dateinamen gesucht. Es scheint, dass Ihre Datei Polygone für Italien enthält? Ist das richtig? – jazzurro

+0

@jazzurro Hallo, ja, tut es! – Gaspare

+0

Können Sie einen Link bereitstellen, um die Datei zu erhalten? Ich möchte auch fragen, was Sie am Ende erreichen wollen. Kannst du das in deiner Frage angeben? – jazzurro

Antwort

2

Veröffentlichen Sie eine Antwort, so dass kein zukünftiger SO-Sucher denkt, dass qplot() sogar eine entfernte gute Idee ist. Keine Annahme oder +1 erforderlich. Bitte hören Sie einfach auf & Einfügen von Code aus Blog-Posts zu schneiden, ohne es überhaupt zu versuchen.

library(rgdal) 
library(maptools) 
library(ggplot2) 
library(viridis) 

prov <- readOGR("prov2011_g.shp", "prov2011_g", stringsAsFactors=FALSE, verbose=FALSE) 

longlat <- "+init=epsg:4121 +proj=longlat +ellps=GRS80 +datum=GGRS87 +no_defs +towgs84=-199.87,74.79,246.62" 

prov <- SpatialPolygonsDataFrame(spTransform(prov, CRS(longlat)), [email protected]) 

prov_map <- fortify(prov, region="NOME_PRO") 

fac <- data.frame(area=rep([email protected]$NOME_PRO, 3), 
        measure=rep(c("A", "B", "C"), each=nrow([email protected])), 
        val=sample(100, nrow([email protected])*3, replace=TRUE)) 

gg <- ggplot() 
gg <- gg + geom_map(data=prov_map, map=prov_map, 
        aes(x=long, y=lat, map_id=id), 
        color="#2b2b2b", size=0.1, fill=NA) 
gg <- gg + geom_map(data=fac, map=prov_map, 
        aes(fill=val, group=measure, map_id=area)) 
gg <- gg + scale_fill_viridis() 
gg <- gg + facet_wrap(~measure) 
gg <- gg + coord_map() 
gg <- gg + ggthemes::theme_map() 
gg 

enter image description here

+0

Vielen Dank für Ihre Hilfe und Entschuldigung für die Art, wie ich die Frage formuliert habe. – Gaspare

Verwandte Themen