Basisvaardigheden in R: Grafieken: de basis
Marges en grootte van figuren wijzigen, plus afbeeldingen opslaan
Tot nu toe hebben we alleen gekeken naar het maken van grafieken binnen de RStudio-omgeving. Deze omgeving is flexibel en biedt allerlei menuopties om door de verschillende gemaakte grafieken te bladeren en deze te exporteren of op te slaan. Hier bespreken we enkele details met betrekking tot het produceren en opslaan van een grafiek.
Kantlijnen wijzigen Misschien is het je opgevallen dat zonder een titel of ondertitel de marges rondom een grafiek vrij groot zijn. Dit komt doordat een enkele grafiek in R, ook wel een figuur genoemd, bestaat uit een plotgebied omgeven door kantlijnen (die mogelijk aslabels, titels, enz. bevatten) en (meestal) begrensd door de assen zelf. Bekijk onderstaande figuur waarin twee optionele argumenten worden getoond om de marges te specificeren.
Je kunt de grootte van de marges specificeren in een plotfunctie zoals plot()
via
mai = c(s1, s2, s3, s4)
, waarbij s1, s2, s3, en s4 de groottes zijn van de onderste, linker, bovenste en rechter marges, respectievelijk, gemeten in inches ;mar = c(s1, s2, s3, s4)
, waarbij s1, s2, s3, en s4 de groottes zijn van de onderste, linker, bovenste en rechter marges, respectievelijk, gemeten in het aantal tekstregels. Zie de onderstaande figuur.
De standaardgrootte van de marges is iets meer dan 5, 4, 4 en 2 tekstregels. Je kunt par(mar=c(4,4,2,2)+0.1)
instellen voordat je een grafiek maakt. Hiermee wordt één regel van de onderste kantlijn en twee regels van de bovenste kantlijn van de grafiek afgesneden, wat de hoeveelheid ongebruikte witruimte vermindert wanneer er geen hoofdtitel of ondertitel is voor latere grafieken.
De groottte van het grafiekvenster instellen Soms is het venster voor grafieken in RStudio wat te klein of heeft het niet de juiste afmetingen voor het type grafiek dat je nodig hebt. In dergelijke gevallen kun je de functie windows( )
op een MS Windows computer of quartz( )
op computer met MacOS. De bruikbare invoeropties voor deze commando's zijn width = ...
en height = ...
options. De invoer van deze opties moet in inches gedaan worden.
Laten we twee vensters maken om dit te illustreren: een eerste venster van 5 inch breed en 3 inch hoog, en een tweede van 3 inch hoog en 5 inch breed. De uitvoer wordt hieronder getoond.
windows(width=5, height=3) # of op MacOS computer: quartz(width=5, height=3) plot(rnorm(100))
windows(width=3, height=5) # of op MacOS computer: quartz(width=3, height=5)
plot(rnorm(100))
Een diagram opslaan Als je R via RStudio gebruikt, is de eenvoudigste manier om je afbeelding op te slaan door te klikken op de "Export" knop in het Plot paneel. Wanneer je dat doet, zie je een menu met de opties "Save Plot as PDF" en "Save Plot as Image". Beide opties openen dialoogvensters waarin je enkele opties kunt aanpassen, maar over het algemeen is dit vrij eenvoudig.
Als alternatief kun je een reeks opdrachten gebruiken om een grafiek op te slaan in een bestand. Dit lijkt op het opslaan van gegevens, maar in plaats van de functie write.table()
, gebruik je functies zoals pdf()
, png()
, svg()
, jpeg()
, tiff()
, postscript()
, enz., afhankelijk van het gewenste uitvoerformaat. Over het algemeen zijn pdf, png en svg de beste grafische formaten om te gebruiken.
Als voorbeeld, om een grafiek op te slaan in een pdf-bestand, kun je het volgende R-script gebruiken:
setwd("C:/temp")
pdf(file = ".voorbeeld_diagram.pdf")
plot(rnorm(100))
dev.off()
- De functie
setwd()
stelt de werkdirectory in waar het pdf-bestand zich bevindt of waar het later kan worden gevonden. - De functie
pdf()
vertelt R om een pdf-bestand te openen en de uitvoer van een plot of plots daarnaar toe te schrijven. - Tekenopdrachten (dezelfde opdrachten die je normaal zou gebruiken om grafieken op het scherm te krijgen) worden gegeven.
- De instructie
dev.off( )
vertelt R om het pdf-bestand (een 'device') te sluiten en de plotfunctionaliteit weer terug te geven aan de R-console of het RStudio Plot paneel.
Je kunt meer informatie verkrijgen door ?pdf
en ?png
in het R console in te toetsen. Als je wilt weten welke uitvoerformaten ('devices' in programmeerjargon) beschikbaar zijn, kun je ?devices
intoetsen.
Soms heb je mogelijk zoveel vensters met grafieken geopend in R dat het moeilijk wordt om het overzicht te behouden. Om de lijst van alle geopende grafische apparaten (graphic devices) te bekijken, kun je de functie dev.list()
gebruiken. Om alle grafische apparaten (graphic devices) te sluiten, en niet alleen het laatst geopende, kun je graphics.off()
gebruiken