Koordinatsystemet

I ggplot2 brukes et kartesisk koordinatsystem som standard. I dette koordinatsystemet finnes en x-akse og en y-akse, som skjærer hverandre i rett vinkel. Skjæringspunktet kalles origo. Du kan manipulere koordinatene med en rekke nyttige funksjoner. For å illustrere effekten av disse funksjonene begynner vi med en graf med standardinnstillinger for koordinater. Grafen lages med data fra gapminder og viser boksplott for forventet levealder på hvert kontinent:

ggplot(data = gapminder,
       aes(x = continent,
           y = lifeExp)) +
  geom_boxplot()
Boksplott av forventet levealder per kontinent i gapminder, kontinentene på x-aksen og levealder på y-aksen

Du kan lage byttede koordinater med coord_flip(), slik:

ggplot(data = gapminder,
       aes(x = continent,
           y = lifeExp)) +
  geom_boxplot() +
  coord_flip()
De samme boksplottene av forventet levealder per kontinent med byttede akser etter coord_flip, kontinentene på y-aksen

Du kan riktignok oppnå samme resultat ved å bytte variabel på x og y i aes(), men likevel er coord_flip() noen ganger nødvendig for å oppnå ønsket resultat.

Polarkoordinater

Med coord_polar() transformeres koordinatene til polarkoordinater. Nedenfor brukes geom_bar() med og uten coord_polar() for å illustrere dette.

## Med coord_polar()
ggplot(data = gapminder) +
  geom_bar(aes(x = continent,
           fill=continent),
           width = 1) +
  coord_polar()

## Uten coord_polar()
ggplot(data = gapminder) +
  geom_bar(aes(x = continent,
           fill=continent),
           width = 1)
Stolpediagram med polarkoordinater der antall observasjoner per kontinent vises som fargede sirkelsektorer
Stolpediagram med antall observasjoner per kontinent i gapminder, én farget stolpe per kontinent

Kart

Med funksjonen coord_quickmap() får kart riktige proporsjoner på x-aksen og y-aksen. Vi bruker funksjonen map_data() for å importere kartomrisset for USA, og deretter bruker vi geom_polygon() for å tegne landet med ggplot(). For at kartet skal få riktige dimensjoner, bruker vi coord_quickmap():

usa <- map_data("usa")

ggplot(usa, aes(long, lat, group = group)) +
  geom_polygon(fill = "white", color = "black") +
  coord_quickmap()
Kart over USA tegnet med geom_polygon og riktige proporsjoner mellom lengdegrad og breddegrad via coord_quickmap