ÎncepețiÎncepe gratuit

Construirea unui grafic în straturi

Acum că știi mai multe despre tmap(), hai să construim graficul anterior al populației în straturi și să facem câteva ajustări pentru a-l îmbunătăți. Începi cu un strat tm_shape() care definește datele pe care vrei să le folosești, apoi adaugi un strat tm_fill() pentru a colora poligoanele după variabila population:

tm_shape(countries_spdf) +
  tm_fill(col = "population") 

Probabil cea mai mare problemă cu graficul rezultat este că scala de culori nu este foarte informativă: prima culoare (galbenul cel mai pal) acoperă toate țările cu o populație mai mică de 200 de milioane! Deoarece scala de culori este asociată stratului tm_fill(), ajustările acestei scale se fac în acest apel. Vei afla mult mai multe despre culori în Capitolul 3, dar deocamdată știe că argumentul style controlează modul în care sunt alese intervalele.

Graficul tău are nevoie și de contururile țărilor. Poți adăuga un strat tm_borders() în acest scop, dar să nu-l facem prea vizual dominant. Un maro ar putea fi o alegere bună.

Avantajul utilizării obiectelor spațiale devine cu adevărat evident atunci când schimbi tipul de grafic. Hai să încercăm și un grafic cu bule, unde dimensiunea bulelor corespunde populației. Dacă ai folosi ggplot2, acest lucru ar presupune o mulțime de transformări ale datelor. Cu tmap, pur și simplu înlocuiești un strat.

Acest exercițiu face parte din cursul

Vizualizarea datelor geospațiale în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă style = "quantile" la tm_fill(). Aceasta alege intervalele din scala de culori pe baza unui număr egal de observații în fiecare interval.
  • La același grafic, adaugă un strat tm_borders() cu col = "burlywood4".
  • Creează un nou grafic identic cu primul, dar în loc de tm_fill() adaugă un strat tm_bubbles() cu size mapat la populație.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

library(sp)
library(tmap)

# Add style argument to the tm_fill() call
tm_shape(countries_spdf) +
  tm_fill(col = "population") +
  # Add a tm_borders() layer 
  

# New plot, with tm_bubbles() instead of tm_fill()
Editează și rulează codul