Kan kartogrammet løse noen utfordringer med skravurkart?
Så, du vil lage et kart over noen norske kommuner - og du vil ha med mer informasjon enn hvor kommunen ligger. I denne tidligere posten gikk jeg gjennom en superenkel måte å få ut et kart på. Nå skal vi fargelegge litt, med kloroplett-kart/skravurkart/tematiske kart.
Vi skal også ta en kikk på om kartogrammer kan løse problemet med at de minste kommunene (arealmessig) kan ha de største verdiene på andre variabler, slik at koding i farger konkurrerer med koding i størrelser. En anna måte å si det på - hvordan løser vi “dimensjonsproblemet” med kart, når to av de vanlige dimensjonene allerede er opptatt med geografisk informasjon?
Kartdataene er “Norske fylker og kommuner illustrasjonsdata 2024 (klippet etter kyst)”, henta fra Geonorge. Jeg har forenkla geometrien i geojson-fila fra 178 MB til 10 MB med rmapshaper-pakka.
La oss hente litt data fra SSB, og fargelegge noen kommuner! Denne gangen henter jeg noe så enkelt som befolkningstall pr. 1.1.2024. Ved en senere anledning får jeg se på data som i tillegg til å ha en dårlig korrelasjon mellom areal og verdi, har en dårlig korrelasjon mellom verdi og befolkningstetthet, slik at vi får sett hvor dårlig absolutte tall gjør seg i kart også.
Siden befolkningstallene er ekstremt skjeive (13 % av Norges befolkning bor i Oslo), deler jeg kommunene inn i kvintiler, like femtedeler med de hhv. 70 minste, 70 nest-minste, osv.
For å visualisere dette som et klassisk skravur-kart kan vi bruke geom_sf fra ggplot2.

Vi ser at de største kommunene er spredt langs kysten og i ulike regioner, og at det er mye stort på østlandet. De minste kommunene ligger i fjellregionene, og med jevne mellomrom nordover. Men størrelsen på kommunene i areal - som er det vi lettere legger merke til enn fargetonene - henger ikke sammen med befolkningsstørrelse. Faktisk er kommuner som Oslo forsvinnende små. Som en grafen under viser.

| Dependent variable: | |
| antall_personer | |
| areal_km2 | -7.170 |
| (4.662) | |
| I(areal_km22) | 0.001 |
| (0.001) | |
| Constant | 20,905.620*** |
| (3,984.257) | |
| Observations | 357 |
| R2 | 0.009 |
| Adjusted R2 | 0.003 |
| Residual Std. Error | 45,777.920 (df = 354) |
| F Statistic | 1.551 (df = 2; 354) |
| Note: | p<0.1; p<0.05; p<0.01 |
En kan til en viss grad korrigere for noe av dette ved å beregne variabelen relativt til arealet - f.eks. befolkning pr. km2. Men det kan heller ikke gjøres uten å tenke nøye gjennom skalaen:

Et kjent grep for å fikse dette er et kartogram, der en skalerer det geografiske området til å representere variabelen en ønsker å fremstille. Dette kan en gjøre med cartogram-pakka. Den støtter mange ulike framgangsmåter - her er en:

Ble dette bra nok? Tja. En ser hvordan de befolkningsrike kommunene spiser opp befolkningen i de mindre kommunene rundt seg. Fjellregionene og de lange regionene i Nord-Norge med lite folk forsvinner mellom store befolkningsmette sentre. Det er jo kanskje av og til et riktig poeng? Men formene blir veldig snåle. Det er i utgangspunktet vanskelig å kjenne igjen sin egen kommune på formen, og her er de helt forvridde - men tungden av befolkninga i Sør-Norge blir veldig tydelig. Dorling-plottet er kanskje vel så bra?

Ikke egentlig. Jeg antar at den store sirkelen er Oslo - men hvorfor er Tigerstaden på vei over til Sverige? Det er fiffig, men fordi boblene ikke skal overlappe, får vi litt samme effekt som i en ballbinge med baller som presser hverandre ut. Gøy en liten stund, men kanskje ikke så informativt.
Det hadde vært bedre med noe som standardiserte størrelsen på kommunene, men beholdt formen og landet sånn noenlunde. Et hexbin-kart hadde vært kult - men jeg har ikke klart å finne en måte å plassere ut hex-formene korrekt på. sugarbag::geom_sugarbag har en variant, men det er ikke akkurat det jeg ser etter. Å kjøre algoritmen gir også forferdelig mye detaljer som foreslår å bruke 1 million GB (altså 1000 terrabyte, eller 1 petabyte) av minne for å kalkulere et fungerende grid.
Så kan kartogram løse utfordringer med skravurkartet? Nei, ikke egentlig. Noen ting egner seg dårligere for kart-visualiseringer enn andre. Kart er dermed akkurat som andre visualiseringer, det har sine fordeler og ulemper. Kanskje det kan løses med litt interaktivitet, slik at du kan hovre over de store enhetene, og se hvem som spiser opp de andre?