Funkcje graficzne zawarte w podstawowym systemie graficznym R to:
plot
- podstawowa funkcja tworząca wykresy punktowe i liniowecurve
- funkcja tworząca krzywą daną przez wzórhist
- funkcja tworząca histogramboxplot
- wykres pudełkowybarplot
- wykres słupkowyPodstawowa funkcja tworząca wykres w R. Wymagane są dwa argumenty, wektory współrzędnych punktów, które mają należeć do wykresu (możliwe jest wywołanie funkcji z jednym argumentem i wtedy są wartości wektora brane jako współrzędna y, a współrzędną x są kolejne liczby naturalne).
Po wywołaniu funkcji plot
, z innymi parametrami domyślnymi, dostajemy wykres, który może być użyty jedynie jako wersja robocza, do własnego użytku.
#wykres mpg od disp z danych mtcars
plot(mtcars$disp, mtcars$mpg)
Funkcja plot()
posiada bardzo wiele argumentów, pozwalających kontrolować najmniejsze detale obrazu. Najczęściej wystarczy wpisać początek argumentu, np. zamiast type='l'
, wystarczy t='l'
. Najczęściej używane to:
type
- typ wykresu
"p"
- punktowy (dpomyślny)"l"
- liniowy (łączy punkty tworząc łamaną)"b"
- liniowy z punktami"s"
i "S"
- dwa rodzaje schodkowych"n"
- pustypch
- typ punktów
1
- okręgi (domyślny)2
- puste trójkąty25
"$"
- znak dolara, analogicznie każdy inny znaklty
- typ linicol
- kolor, dopuszcza nazwy oraz liczby np.
"red"
- dostaniemy czerowny2
- dostaniemy czerownymain
- tytuł głównysub
- podtytułxlab
i ylab
- opis osiWiększość argumentóW dla hist()
jest takich samych jak dla plot()
, najważniejszym dodatkowym argumentem jest breaks
, dzięki, któremu możemy kontrolować przedziały dla histogramu. Domyślna wartość jest przeważnie odpowiednia (zależna od ilości obserwacji). Argument breaks
może być:
set.seed(1)
#tworzymy hitogram dla danych wylosowanych z rozkładu wykładniczego
x.exp<-rexp(100,1)
hist(x.exp, breaks=15, col=3)
Większość argumentóW dla boxplot()
jest identyczna z argumentami plot()
. Najciekawszą opcją jest zastosowanie funkcji do formułu, anie do danych w postaci wektora. Dzięki temu dostajemy kilka wykresów pudełkowych, z podziałem na wartości zmiennej. Wpisując formula= x~y
dostajemy tyle wykresóW ile poziomów zmiennej y
, każdy stworzony z odpowiedniego podzbioru x
.
#wykres zmiennej mpg w zależności od typu skrzyni biegów (am) w danych mtcars
boxplot(mtcars$mpg~mtcars$am)
Funkcja par() służy do globalnych ustawień w wykresach. Np. jeśli chcemy aby domyślnie każdy wykres miał szare tło wpisujemy w konsole par(bg="grey")
. Jest bardzo dużo argumentóW funkcji par, zachęcam do zapoznania się z helpem. Wiele z tych argumentóW może być wpisywane jako argument pojedynczej funkcji, np. bg
i wtedy dany parametr jest ustawiony dla konkretnego wykresu, ale każdy następny nie będzie miał tego argumentu domyślnie ustawionego.
Szczególnie ciekawymy argumentami funkcji par()
są mfrow
i mfcol
ustawiające macierz wykresów, pozwalając na kilka wykresów na jednej grafice.
#rysujemy histogramy dla danych z rozkładu t, o różnej ilosci stopni swobody
par(mfrow=c(2,2))
set.seed(11)
for (i in 1:4) {
hist(rt(100,i^2), main=paste("df=", as.character(i^2)),
xlab=", ylab=", col=i+1)
}
#wracamy do jednego wykresu na grafikę
par(mfrow=c(1,1))
Wiele razy spotykamy się z sytuacją, w której chcemy do wykresu dodać jakiś element. Najczęściej używane funkcje w tym celu to:
points()
- działa analogicznie do plot()
, tylko dopisuje wykres do już istniejącego. Należy szczególnie uważać na zakresy xlim
i ylim
, aby wykres zawierał wszystkie lementy, które chcemy, ponieważ jeżeli część wykresu z points()
nei mieści się w wykresie, nie zostaniemy o tym poinformowani.lines()
- podrodzaj points()
z argumentem t="l"
. Można otrzymać przy użyciu points()
abline()
- dokłada linię prostą idącą przez cały wykres. Możemy użyć na kilka sposobów, np. dla lini poziomej na wysokości 1 określamy h= 1
, dla pionowej v=1
.text()
- dokłada tekst na wykresie (np. nazwa szczególnego punktu)polygon()
- cieniuje obszar na wykresieaxis()
- dołącza oś do wykresu, szczególnie przydatne przy wcześniejszym oznaczeniu osi jako pustych