Wykorzystanie możliwości ggplot2
Wiesz już, że do wykresu ggmap() można dodawać warstwy za pomocą geom_***(), podając dane i mapowanie bezpośrednio w każdej warstwie – jednak takie podejście ma dwie istotne wady: każda kolejna warstwa wymaga osobnego podania danych i mapowań, a podziały na panele (facetting) w ogóle nie działają.
Na szczęście ggmap() oferuje wyjście z tej sytuacji: argument base_layer. Można do niego przekazać zwykłe wywołanie ggplot(), które określa domyślne dane i mapowania dla wszystkich warstw.
Na przykład ten wykres:
ggmap(corvallis_map) +
geom_point(data = sales, aes(lon, lat))
można by zapisać jako:
ggmap(corvallis_map,
base_layer = ggplot(sales, aes(lon, lat))) +
geom_point()
Przenosząc aes(x, y) i data z wywołania geom_point() do wywołania ggplot() wewnątrz ggmap(), możesz dodawać panele i kolejne warstwy w standardowy sposób, tak jak w ggplot2.
Spróbujmy to zastosować w praktyce.
To ćwiczenie jest częścią kursu
Wizualizacja danych geoprzestrzennych w R
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))