Postupné sestavování grafu po vrstvách
Teď, když už o tmap() víš trochu víc, pojďme rozvinout předchozí graf populace – přidáme vrstvy a pár úprav pro lepší přehlednost. Začínáš vrstvou tm_shape(), která definuje data, s nimiž chceš pracovat, a pak přidáš vrstvu tm_fill(), která vybarví polygony podle proměnné population:
tm_shape(countries_spdf) +
tm_fill(col = "population")
Největší problém výsledného grafu je asi to, že barevná škála není příliš vypovídající: první barva (nejsvětlejší žlutá) pokrývá všechny země s populací menší než 200 milionů! Protože barevná škála patří k vrstvě tm_fill(), veškeré úpravy se provádějí v tomto volání. O barvách se toho dozvíš mnohem víc ve 3. kapitole – zatím ti stačí vědět, že argument style určuje, jak se volí hranice intervalů.
Graf také potřebuje obrysy jednotlivých zemí. K tomu slouží vrstva tm_borders(), ale nechceme, aby vizuálně příliš dominovala. Třeba hnědá by se hodila.
Výhody prostorových objektů vyniknou naplno ve chvíli, kdy změníš typ grafu. Zkusme bublinový graf, kde velikost bublin odpovídá populaci. V ggplot2 by to vyžadovalo hodně přetváření dat – v tmap stačí jen vyměnit jednu vrstvu.
Toto cvičení je součástí kurzu
Vizualizace geoprostorových dat v R
Pokyny k cvičení
- Přidej do
tm_fill()argumentstyle = "quantile". Tím se hranice barevné škály zvolí tak, aby každý interval obsahoval přibližně stejný počet pozorování. - Do stejného grafu přidej vrstvu
tm_borders()s argumentemcol = "burlywood4". - Vytvoř nový graf stejný jako ten první, ale místo
tm_fill()použij vrstvutm_bubbles()s argumentemsizenamapovaným na populaci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()