Een eenvoudige grafiek om mee te beginnen We beginnen met een kleine dataset over de gemiddelde lengtegroei van Nederlandse jongens. In een korte R-sessie maken we eerst een lijst van de gemiddelde lengte (in centimeters) vanaf de leeftijd van 1 t/m 7 jaar. Vervolgens gebruiken we de functie plot() om een eenvoudige grafiek van deze tijdreeks te maken.

> lengte <- c(76.6, 88.9, 98.1, 105.8, 113.1, 120.1, 126.6)
> plot(lengte)

We krijgen de volgende grafiek te zien in een grafiekvenster.

lengte plot 1

Merk op dat R al veel standaardkeuzes heeft gemaakt om de bovenstaande grafiek te produceren:

  • er is een spreidingsdiagram gemaakt waarbij de lengtewaarden zijn uitgezet tegen hun index;
  • horizontale en verticale bereiken zijn geselecteerd om de datapunten zo goed mogelijk in beeld te brengen;
  • open cirkels werden gebruikt om datapunten voor te stellen;
  • er wordt gebruik gemaakt van een standaard grootte voor de afbeelding;
  • er is een standaardkleur voor de grafiek geselecteerd;
  • het gebruikte lettertype voor tekstweergave is standaard;
  • en nog veel meer standaardopties zijn toegepast.

Een grafiek aanpassen Kijkend naar de grafiek die is gemaakt in het eerste voorbeeld, wil je misschien meer geschikte aslabels specificeren, en een titel of een ondertitel toevoegen. De argumenten die u nodig heeft in de functie om dit te doen zijn::

  • main: de titel van het diagram
  • sub: de ondertitel van het diagram
  • xlab: het label langs de horizontale as
  • ylab: het label langs de verticale as

Alle bovengenoemde argumenten worden opgegeven als een woord (reeks van karakters). In ons voorbeeld zou je de volgende instructie kunnen geven om een aangepaste en hopelijk verbeterde grafiek te verkrijgen:

> plot(lengte, main="gemiddelde lengte van jongens vs leeftijd.", 
+              xlab="leeftijd (jaar)", ylab="lengte (cm)")

verbeterde lengtegrafiek

We hadden ook een variabele "leeftijd" kunnen introduceren en het spreidingsdiagram van het dataframe 'lengte vs leeftijd' op de volgende manier kunnen tekenen:

> lengte <- c(76.6, 88.9, 98.1, 105.8, 113.1, 120.1, 126.6)
> leeftijd <- 1:7
> df <- data.frame(leeftijd, lengte)
> plot(df)    # alternatief: plot(x = leeftijd, y = lengte)

lengtegrafiek als spreidingsdiagram

Het type van de grafiek veranderen Het argument type specificeert de visuele stijl van de plot. De meest gebruikte waarden voor dit argument zijn:

  • type = "p": Teken alleen de punten;
  • type = "l": Teken lijnstukken tussen punten;
  • type = "o": Teken lijnstukken over de punten heen;
  • type = "b": Teken beiden - punten en lijnstukken - maar niet over elkaar heen;
  • type = "h": Teken histogram-achtige verticale lijnstukken;
  • type = "s": Teken een trappenhuis, verticaal en horizontaal gaand.

De volgende instructies creëren één figuur waarin de verschillende diagramtypes zichtbaar worden gemaakt:

> par(mfcol=c(2,3)) # 2x3 matrix van diagrammen
> plot(lengte, xlab="leeftijd", type="p", main='type="p"')
> plot(lengte, xlab="leeftijd", type="l", main='type="l"')
> plot(lengte, xlab="leeftijd", type="o", main='type="o"')
> plot(lengte, xlab="leeftijd", type="b", main='type="b"')
> plot(lengte, xlab="leeftijd", type="h", main='type="h"')
> plot(lengte, xlab="leeftijd", type="s", main='type="s"')

lengtediagram in verschillende plot types

Andere kenmerken van een grafiek veranderen Je kunt kenmerken van een grafiek wijzigen, afgezien van de titel, aslabels of het type van het diagram.

  • Het symbool van een punt wijzigen: pch, De plot character parameter is een getal, meestal tussen 1 en 25. dat het grafische systeem informeert welk symbool moet worden gebruikt om de punten te tekenen ; zie onderstaande figuur.
    pch

  • De grootte van het symbool wijzigen: cex. Deze parameter beschrijft de character expansion factor (i.e., vergrotingsfactor) voor de getekende symbolen. Bij verstek cex=1, maar als je grotere symbolen in je grafiek wilt, moet je een grotere waarde specificeren, bijvoorbeeld 1.2, 1.5, 2 of enige andere waarden.

  • het type van lijnen in een grafiek wijzigen: lty. De line type parameter beschrijft - nomen est omen - het type van de lijnstukken die getekend worden. Het kan ofwel een getal zijn of een woord uit onderstaande lijst.

    lty

  • De lijndikte wijzigen: lwd. De line width parameter is gewoon een getal dat de breedte van de lijn aangeeft. De standaardwaarde is 1. Het is niet verrassend dat grotere waarden dikkere lijnen produceren en kleinere waarden dunnere lijnen. Probeer te experimenteren met verschillende waarden van lwd en zie wat gebeurt.

  • De kleur van punten en lijnen wijzigen: col. R heeft 657 ingebouwde kleuren. Je kunt alle kleurnamen zien door de instructie colors() in de console in te voeren.

De assen van een grafiek aanpassen R biedt mogelijkheden om de assen aan te passen

  • Wijziging van de bereiken van de assen: xlim, ylim. Over het algemeen doet R een behoorlijk goede poging om geschikte horizontale en verticale bereiken te raden. Je kunt echter keuzes overschrijven door de argumenten xlim en ylim aan te passen Bijvoorbeeld, de volgende code produceert een redelijke grafiek van de tangensfunctie:

    > x_waarden <- seq(from = 0, to = 10, by = 0.001)
    > y_waarden <- tan(x_waarden)
    > plot(x = x_waarden, y = y_waarden, pch = 20, cex = 0.8, col = "blue", ylim = c(-10,10))

    graph of the tangens function

    Zonder specificatie van het grafiekbereik zou je een weinig informatieve grafiek krijgen, gedomineerd door extreme waarden.

  • Onderdrukking van labels: ann. Stel ann = FALSE als je niet wilt dat R een tekst voor een titel, ondertitel of labels bij de assen opstelt.

  • Onderdrukking van het tekenen van assen. Stel axes = FALSE als je niet wilt dat R assen met streepjes en getallen tekent. In dit geval kun je nog steeds een kleine rand om de grafiek laten tekenen door frame.plot = TRUE in te stellen.

  • Logaritmische schaling van assen: log="x", log="y", en log="xy" zorgen ervoor dat de x, y of eide assen logaritmische schaling gebruiken. Dit werkt voor veel, maar niet alle types van grafieken.
Unlock full access  unlock