Ich versuche, mehrere Shapefiles auf einer Karte über ggmap erstellt plotten. Dies funktioniert gut, jedoch möchte ich den Ansichtsbereich auf die Shapefile beschränken (und nicht auf das zoom
-Argument in ggmaps
angewiesen sein). Ich habe dies getan, indem ich die Bounding Box bekommen und sie als Argument in ggplot
s coord_cartesian
übergeben. Während dies funktioniert, bekomme ich einige Risse Probleme an den Rändern der Karte - am speziellsten im westlichen Teil. Ich habe versucht, die x-y-Koordinaten manuell anzupassen, aber es scheint das Bild nur stark zu verzerren.Plotten Shapefile auf ggmap
Meine Gedanken sind leicht die gesamte Shape-Datei zu ermöglichen, verkleinern im Bereich aufgetragen werden, aber ich kann nicht scheinen, um herauszufinden. Es ist auch möglich, dass ich das völlig falsch mache.
Hier ist der Code, den ich verwendet habe, um die Karte zu generieren. Die Shape-Datei kann here
library(dplyr)
library(ggmap)
library(rgdal)
library(broom)
# Read in shapefile, project into long-lat
# Create 'tbox' which is a minimum bounding box around the shapefile
tracts <- readOGR(dsn = ".", layer = "CensusTracts2010") %>%
spTransform("+proj=longlat +ellps=WGS84")
tbox <- bbox(tracts)
# Plot data
tract_plot <- tidy(tracts)
DetroitMap <- qmap("Detroit", zoom = 11)
DetroitMap + geom_polygon(data = tract_plot, aes(x = long, y = lat, group = id), color = "black", fill = NA) +
coord_cartesian(xlim = c(tbox[1,1], tbox[1,2]),
ylim = c(tbox[2,1], tbox[2,2]))
Was passiert, wenn Sie 'coord_map()' verwenden? –