Die Stärken von ggplot2 nutzen
Du hast gesehen, dass du einem ggmap()-Plot weitere Ebenen hinzufügen kannst, indem du geom_***()-Ebenen ergänzt und Daten sowie Mappings explizit angibst. Dieser Ansatz hat jedoch zwei große Nachteile: Auch alle weiteren Ebenen müssen Daten und Mappings angeben, und Facetting funktioniert überhaupt nicht.
Zum Glück bietet ggmap() einen Ausweg: das Argument base_layer. Du kannst base_layer einen normalen ggplot()-Aufruf übergeben, der die Standarddaten und -mappings für alle Ebenen festlegt.
Zum Beispiel hätte der initiale Plot:
ggmap(corvallis_map) +
geom_point(data = sales, aes(lon, lat))
stattdessen so aussehen können:
ggmap(corvallis_map,
base_layer = ggplot(sales, aes(lon, lat))) +
geom_point()
Indem du aes(x, y) und data aus der ursprünglichen geom_point()-Funktion in den ggplot()-Aufruf innerhalb von ggmap() verschiebst, kannst du Facets oder zusätzliche Ebenen auf die übliche ggplot2-Art hinzufügen.
Probieren wir’s aus.
Diese Übung ist Teil des Kurses
Geodaten in R visualisieren
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Use base_layer argument to ggmap() to specify data and x, y mappings
ggmap(corvallis_map_bw, ___) +
geom_point(data = sales, aes(lon, lat, color = year_built))