Werken met R bij wiskunde: Grafieken van functies
De grafiek van een functie tekenen
Visualisatie worden in R ondersteund door het ggplot2
pakket en andere pakketten voor speciale doeleinden, zoals phaseR
voor het bestuderen van differentiaalvergelijkingen. Het gaat dan meestal om high-level plotfuncties die volledige diagrammen opleveren en zonodig de uitvoer van een voorafgaande plotopdracht uitwissen. Daarnaast bestaan er low-level plotfuncties die bedoeld zijn om grafische uitvoer aan een eerder gemaakt diagram toe te voegen (denk bijvoorbeeld aan legenda, extra text, of een toevoeging van extra punten of lijnen aan een bestaand diagram)
We beginnen met het tekenen van de grafiek van de functie Dit voorbeeld illustreert hoe visualisaties beetje bij beetje opgebouwd kunnen worden en uiteindelijk met high-level en low-level plotfuncties geproduceerd kunnen worden.
Eerst definiëren we de wiskudige functie in R:
> f <- function(t) { t^4 * exp(-t^2) }
We verdelen nu het interval in 15 -waarden waarvoor we de functiewaarden uitrekenen.
> t <- seq(from=0, to=3, length=15)
> y <- f(t)
Hierna kan de grafiek van getekend worden door de berekende puntenparen te verbinden met rechte lijnstukjes. We kunnen de tekening decoreren door labels en een legenda toe te voegen. Het resultaat staat onderaan de sessie.
> plot(t, y, type="l", col="blue", lwd=2,
+ main="grafiek van een functie", xlab="t", ylab="y(t)")
> legend(2, 0.5, legend="t^4*exp(-t^2)",
+ col="blue", lty=1, lwd=2, cex=0.8)
Je ziet dat door de weinige gekozen punten, de grafiek van de functie hoekig oogt. Pas wanneer je meer punten neemt om functiewaarden uit te rekenen. We illustreren dit in onderstaande sessie (met onderdrukte uitvoer) waarbij we nu een gladde grafiek van de functie tekenen en maar bovenstaande geselecteerde punten ook tonen. Gebruik het hulpsysteem in R om meer details van de
plot
- en lines
-opties te weten te komen of raadpleeg onderstaande overzichtstabellen die de meest gebruikte opties beschrijven.
> f <- function(t) { t^4 * exp(-t**2) }
> t1 <- seq(from=0, to=3, length=15)
> t2 <- seq(from=0, to=3, length=150)
> y1 <- f(t1)
> y2 <- f(t2)
> plot(t1, y1, type="p", col="red", pch=16,
+ main="grafiek van een functie", xlab="t", ylab="y(t)")
> lines(t2, y2, type="l", col="blue", lwd=2)
> legend(2, 0.5, legend=c("t^4*exp(-t^2)", "t^4*exp(-t^2)"),
+ col=c("red", "blue"), pch=c(16,NA_integer_), lwd=c(0,2),
+ lty=c(0,1), cex=0.8)
Overzichten van plotfuncties en hun opties
Gangbare plot-opties
Enkele high-level plotfuncties
Enkele low-level plotfuncties
Sommige R-functies maken gebruik van de muis.
Het R-commando locator
is handig als je de precieze coördinaten van een aantal punten op het scherm wilt weten. Start met het typen van:z <- locator(n)
Klik vervolgens op n punten in het diagramvenster. De coördinaten van deze punten worden dan opgeslagen in de lijst z.
Door na locator(n=2, type="l")
op twee punten in het grafiekvenster te klikken kan een lijnstuk in de grafiek worden getekend.
Ingebouwde kleuren in R
R heeft 657 ingebouwde kleuren. Je krijgt alle namen te zien als je het commando colors()
in het console intoetst. We geven de volledige tabel met de namen van de kleuren.
white | aliceblue | antiquewhite | antiquewhite1 | antiquewhite2 | antiquewhite3 | antiquewhite4 |
aquamarine | aquamarine1 | aquamarine2 | aquamarine3 | aquamarine4 | azure | azure1 |
azure2 | azure3 | azure4 | beige | bisque | bisque1 | bisque2 |
bisque3 | bisque4 | black | blanchedalmond | blue | blue1 | blue2 |
blue3 | blue4 | blueviolet | brown | brown1 | brown2 | brown3 |
brown4 | burlywood | burlywood1 | burlywood2 | burlywood3 | burlywood4 | cadetblue |
cadetblue1 | cadetblue2 | cadetblue3 | cadetblue4 | chartreuse | chartreuse1 | chartreuse2 |
chartreuse3 | chartreuse4 | chocolate | chocolate1 | chocolate2 | chocolate3 | chocolate4 |
coral | coral1 | coral2 | coral3 | coral4 | cornflowerblue | cornsilk |
cornsilk1 | cornsilk2 | cornsilk3 | cornsilk4 | cyan | cyan1 | cyan2 |
cyan3 | cyan4 | darkblue | darkcyan | darkgoldenrod | darkgoldenrod1 | darkgoldenrod2 |
darkgoldenrod3 | darkgoldenrod4 | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta |
darkolivegreen | darkolivegreen1 | darkolivegreen2 | darkolivegreen3 | darkolivegreen4 | darkorange | darkorange1 |
darkorange2 | darkorange3 | darkorange4 | darkorchid | darkorchid1 | darkorchid2 | darkorchid3 |
darkorchid4 | darkred | darksalmon | darkseagreen | darkseagreen1 | darkseagreen2 | darkseagreen3 |
darkseagreen4 | darkslateblue | darkslategray | darkslategray1 | darkslategray2 | darkslategray3 | darkslategray4 |
darkslategrey | darkturquoise | darkviolet | deeppink | deeppink1 | deeppink2 | deeppink3 |
deeppink4 | deepskyblue | deepskyblue1 | deepskyblue2 | deepskyblue3 | deepskyblue4 | dimgray |
dimgrey | dodgerblue | dodgerblue1 | dodgerblue2 | dodgerblue3 | dodgerblue4 | firebrick |
firebrick1 | firebrick2 | firebrick3 | firebrick4 | floralwhite | forestgreen | gainsboro |
ghostwhite | gold | gold1 | gold2 | gold3 | gold4 | goldenrod |
goldenrod1 | goldenrod2 | goldenrod3 | goldenrod4 | gray | gray0 | gray1 |
gray2 | gray3 | gray4 | gray5 | gray6 | gray7 | gray8 |
gray9 | gray10 | gray11 | gray12 | gray13 | gray14 | gray15 |
gray16 | gray17 | gray18 | gray19 | gray20 | gray21 | gray22 |
gray23 | gray24 | gray25 | gray26 | gray27 | gray28 | gray29 |
gray30 | gray31 | gray32 | gray33 | gray34 | gray35 | gray36 |
gray37 | gray38 | gray39 | gray40 | gray41 | gray42 | gray43 |
gray44 | gray45 | gray46 | gray47 | gray48 | gray49 | gray50 |
gray51 | gray52 | gray53 | gray54 | gray55 | gray56 | gray57 |
gray58 | gray59 | gray60 | gray61 | gray62 | gray63 | gray64 |
gray65 | gray66 | gray67 | gray68 | gray69 | gray70 | gray71 |
gray72 | gray73 | gray74 | gray75 | gray76 | gray77 | gray78 |
gray79 | gray80 | gray81 | gray82 | gray83 | gray84 | gray85 |
gray86 | gray87 | gray88 | gray89 | gray90 | gray91 | gray92 |
gray93 | gray94 | gray95 | gray96 | gray97 | gray98 | gray99 |
gray100 | green | green1 | green2 | green3 | green4 | greenyellow |
grey | grey0 | grey1 | grey2 | grey3 | grey4 | grey5 |
grey6 | grey7 | grey8 | grey9 | grey10 | grey11 | grey12 |
grey13 | grey14 | grey15 | grey16 | grey17 | grey18 | grey19 |
grey20 | grey21 | grey22 | grey23 | grey24 | grey25 | grey26 |
grey27 | grey28 | grey29 | grey30 | grey31 | grey32 | grey33 |
grey34 | grey35 | grey36 | grey37 | grey38 | grey39 | grey40 |
grey41 | grey42 | grey43 | grey44 | grey45 | grey46 | grey47 |
grey48 | grey49 | grey50 | grey51 | grey52 | grey53 | grey54 |
grey55 | grey56 | grey57 | grey58 | grey59 | grey60 | grey61 |
grey62 | grey63 | grey64 | grey65 | grey66 | grey67 | grey68 |
grey69 | grey70 | grey71 | grey72 | grey73 | grey74 | grey75 |
grey76 | grey77 | grey78 | grey79 | grey80 | grey81 | grey82 |
grey83 | grey84 | grey85 | grey86 | grey87 | grey88 | grey89 |
grey90 | grey91 | grey92 | grey93 | grey94 | grey95 | grey96 |
grey97 | grey98 | grey99 | grey100 | honeydew | honeydew1 | honeydew2 |
honeydew3 | honeydew4 | hotpink | hotpink1 | hotpink2 | hotpink3 | hotpink4 |
indianred | indianred1 | indianred2 | indianred3 | indianred4 | ivory | ivory1 |
ivory2 | ivory3 | ivory4 | khaki | khaki1 | khaki2 | khaki3 |
khaki4 | lavender | lavenderblush | lavenderblush1 | lavenderblush2 | lavenderblush3 | lavenderblush4 |
lawngreen | lemonchiffon | lemonchiffon1 | lemonchiffon2 | lemonchiffon3 | lemonchiffon4 | lightblue |
lightblue1 | lightblue2 | lightblue3 | lightblue4 | lightcoral | lightcyan | lightcyan1 |
lightcyan2 | lightcyan3 | lightcyan4 | lightgoldenrod | lightgoldenrod1 | lightgoldenrod2 | lightgoldenrod3 |
lightgoldenrod4 | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightpink1 |
lightpink2 | lightpink3 | lightpink4 | lightsalmon | lightsalmon1 | lightsalmon2 | lightsalmon3 |
lightsalmon4 | lightseagreen | lightskyblue | lightskyblue1 | lightskyblue2 | lightskyblue3 | lightskyblue4 |
lightslateblue | lightslategray | lightslategrey | lightsteelblue | lightsteelblue1 | lightsteelblue2 | lightsteelblue3 |
lightsteelblue4 | lightyellow | lightyellow1 | lightyellow2 | lightyellow3 | lightyellow4 | limegreen |
linen | magenta | magenta1 | magenta2 | magenta3 | magenta4 | maroon |
maroon1 | maroon2 | maroon3 | maroon4 | mediumaquamarine | mediumblue | mediumorchid |
mediumorchid1 | mediumorchid2 | mediumorchid3 | mediumorchid4 | mediumpurple | mediumpurple1 | mediumpurple2 |
mediumpurple3 | mediumpurple4 | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred |
midnightblue | mintcream | mistyrose | mistyrose1 | mistyrose2 | mistyrose3 | mistyrose4 |
moccasin | navajowhite | navajowhite1 | navajowhite2 | navajowhite3 | navajowhite4 | navy |
navyblue | oldlace | olivedrab | olivedrab1 | olivedrab2 | olivedrab3 | olivedrab4 |
orange | orange1 | orange2 | orange3 | orange4 | orangered | orangered1 |
orangered2 | orangered3 | orangered4 | orchid | orchid1 | orchid2 | orchid3 |
orchid4 | palegoldenrod | palegreen | palegreen1 | palegreen2 | palegreen3 | palegreen4 |
paleturquoise | paleturquoise1 | paleturquoise2 | paleturquoise3 | paleturquoise4 | palevioletred | palevioletred1 |
palevioletred2 | palevioletred3 | palevioletred4 | papayawhip | peachpuff | peachpuff1 | peachpuff2 |
peachpuff3 | peachpuff4 | peru | pink | pink1 | pink2 | pink3 |
pink4 | plum | plum1 | plum2 | plum3 | plum4 | powderblue |
purple | purple1 | purple2 | purple3 | purple4 | red | red1 |
red2 | red3 | red4 | rosybrown | rosybrown1 | rosybrown2 | rosybrown3 |
rosybrown4 | royalblue | royalblue1 | royalblue2 | royalblue3 | royalblue4 | saddlebrown |
salmon | salmon1 | salmon2 | salmon3 | salmon4 | sandybrown | seagreen |
seagreen1 | seagreen2 | seagreen3 | seagreen4 | seashell | seashell1 | seashell2 |
seashell3 | seashell4 | sienna | sienna1 | sienna2 | sienna3 | sienna4 |
skyblue | skyblue1 | skyblue2 | skyblue3 | skyblue4 | slateblue | slateblue1 |
slateblue2 | slateblue3 | slateblue4 | slategray | slategray1 | slategray2 | slategray3 |
slategray4 | slategrey | snow | snow1 | snow2 | snow3 | snow4 |
springgreen | springgreen1 | springgreen2 | springgreen3 | springgreen4 | steelblue | steelblue1 |
steelblue2 | steelblue3 | steelblue4 | tan | tan1 | tan2 | tan3 |
tan4 | thistle | thistle1 | thistle2 | thistle3 | thistle4 | tomato |
tomato1 | tomato2 | tomato3 | tomato4 | turquoise | turquoise1 | turquoise2 |
turquoise3 | turquoise4 | violet | violetred | violetred1 | violetred2 | violetred3 |
violetred4 | wheat | wheat1 | wheat2 | wheat3 | wheat4 | whitesmoke |
yellow | yellow1 | yellow2 | yellow3 | yellow4 | yellowgreen |