Ga naar hoofdinhoud

Graphics met ggplot2 Tutorial

Datavisualisatie is een essentiële vaardigheid voor data scientists. Het combineert statistiek en design op betekenisvolle en passende manieren.
Bijgewerkt 2 okt 2026  · 6 min lezen

Verken met AI

ChatGPTClaudePerplexity

Datavisualisatie is een essentiële vaardigheid voor data scientists. Het combineert statistiek en design op betekenisvolle en passende manieren. Enerzijds is datavisualisatie een vorm van grafische data-analyse, met de nadruk op nauwkeurige weergave en interpretatie van data. Anderzijds steunt datavisualisatie op goede ontwerpkeuzes om grafieken aantrekkelijk te maken en zowel het begrip als de communicatie van resultaten te verbeteren. Daarbovenop zit er een creatief element in, want datavisualisatie is in de kern een vorm van visuele communicatie.

venndiagram datavisualisatie

Het is belangrijk om het onderscheid te begrijpen tussen exploratieve en verklarende visualisaties. Exploratieve visualisaties zijn snel te genereren, datarijk en bedoeld voor een kleine groep specialisten, zoals jij en je collega’s — hun primaire doel is grafische data-analyse. Verklarende visualisaties kosten veel tijd, zijn dataspecifiek en bedoeld voor een breder publiek, bijvoorbeeld in publicaties of presentaties — ze maken deel uit van het communicatieproces. Als data scientist is het essentieel dat je data snel kunt verkennen, maar je krijgt ook de taak om je resultaten aan stakeholders uit te leggen. Goed design begint bij nadenken over je publiek — en soms zijn wij dat zelf.

diagram visualisatie voor data scientists

Spreidingsdiagram

Hieronder staat een dataset met de gemiddelde hersen- en lichaamsgewichten van 62 zoogdieren.

 MASS::mammals
                              body   brain
Arctic fox                   3.385   44.50
Owl monkey                   0.480   15.50
Mountain beaver              1.350    8.10
Cow                        465.000  423.00
Grey wolf                   36.330  119.50
Goat                        27.660  115.00
Roe deer                    14.830   98.20
...
Pig                        192.000  180.00
Echidna                      3.000   25.00
Brazilian tapir            160.000  169.00
Tenrec                       0.900    2.60
Phalanger                    1.620   11.40
Tree shrew                   0.104    2.50
Red fox                      4.235   50.40 

Om de relatie te begrijpen, is de meest voor de hand liggende eerste stap een spreidingsdiagram maken, zoals hieronder:

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point()
spreidingsdiagram

Twee zoogdieren, de Afrikaanse en de Aziatische olifant, hebben zowel een zeer hoog hersen- als lichaamsgewicht, wat leidt tot een positieve scheefheid op beide assen.

Lineair model

Als we hier een lineair model op toepassen, is dat geen goede keuze, omdat enkele extreme waarden een grote invloed hebben.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  stat_smooth(
    method = "lm",
    color = "red",
    se = FALSE
  )
lineair model op spreidingsdiagram

Een logtransformatie van beide variabelen zorgt voor een betere fit.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
logtransformatie op lineair spreidingsdiagram

Dus hoewel we begonnen met een ruwe, exploratieve plot, gaf die ons inzicht in de data en leidde tot een betekenisvol resultaat.

Diagrammen van Anscombe

Wanneer we aan een lineair model denken, zoals gepresenteerd op deze anonieme plot, stellen we ons voor dat we data beschrijven die er ongeveer zo uitziet.

lineair model op anonieme plot

Maar hetzelfde model kan een heel andere dataset beschrijven, zoals een parabolische relatie, die om een ander model vraagt.

parabolische relatie-plot

Of data waarin een extreme waarde een groot effect heeft, wat duidelijk wordt zodra de uitschieter wordt verwijderd.

verwijderde uitschieter op lineaire plot

En soms beschrijft het model een relatie terwijl die er feitelijk niet is, omdat sommige extreme waarden onjuist kunnen zijn.

onjuiste extreme waarden op lineaire plot

Als we ons alleen op de numerieke output hadden verlaten zonder onze data te plotten, hadden we duidelijke en interessante onderliggende patronen gemist.

trends in lineaire plots

We zien dat datavisualisatie geworteld is in statistiek en grafische data-analyse, maar het is ook een creatief proces met een zekere mate van trial-and-error.

Interactief voorbeeld

In het volgende voorbeeld laad je eerst het pakket ggplot2 met library(). Daarna gebruik je str() om de structuur van de dataset mtcars te verkennen.

Tot slot visualiseer je de ggplot en probeer je te begrijpen wat ggplot met de data doet.

Je gebruikt de dataset mtcars, met informatie over 32 auto’s uit een uitgave van Motor Trend uit 1973. Deze dataset is klein, intuïtief en bevat een mix van continue en categorische variabelen.

# Load the ggplot2 package
library(ggplot2)

# Explore the mtcars data frame with str()
str(mtcars)

# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
  geom_point()

Wanneer we bovenstaande code uitvoeren, levert dat het volgende resultaat op:

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
ggplot

Wil je meer leren over datavisualisatie met ggplot? Bekijk dan deze video uit onze cursus Introduction to Data Visualization with ggplot2. Houd ook onze ggplot2 Cheat Sheet bij de hand als handig naslagwerk. 

Deze content is afkomstig uit DataCamp’s cursus Introduction to Data Visualization with ggplot2 van Rick Scavetta.

Onderwerpen
R
Data Science

Gerelateerde cursussen

Cursus

Gevorderde datavisualisatie met ggplot2

4 uur
57.6K
Leer hoe je facetten, coördinatensystemen en statistieken in ggplot2 kunt gebruiken om handige grafieken te maken die dingen uitleggen.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken