Sfruttare i punti di forza di ggplot2
Hai visto che puoi aggiungere layer a un grafico ggmap() aggiungendo layer geom_***() e specificando esplicitamente dati e mappature, ma questo approccio ha due grossi svantaggi: anche i layer successivi devono specificare dati e mappature, e il faceting non funziona proprio.
Per fortuna ggmap() offre un modo per aggirare questi limiti: l’argomento base_layer. Puoi passare a base_layer una normale chiamata a ggplot() che definisce i dati e le mappature predefinite per tutti i layer.
Per esempio, il grafico iniziale:
ggmap(corvallis_map) +
geom_point(data = sales, aes(lon, lat))
avrebbe potuto essere invece:
ggmap(corvallis_map,
base_layer = ggplot(sales, aes(lon, lat))) +
geom_point()
Spostando aes(x, y) e data dalla funzione iniziale geom_point() alla chiamata ggplot() all’interno della chiamata a ggmap(), puoi aggiungere facet o layer extra nel modo usuale di ggplot2.
Proviamo.
Questo esercizio fa parte del corso
Visualizzare dati geospaziali in R
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))