Grafika w R

39
Podstawy R Tomasz Górecki Statystyczne systemy uczπce (W4)

Transcript of Grafika w R

Page 1: Grafika w R

Podstawy R

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 2: Grafika w R

Podstawy R

R dysponuje bardzo duøymi moøliwoúciami w zakresie graficznejprezentacji uzyskanych wyników. Aby jednak w pe≥ni korzystaÊ zjego moøliwoúci zapoznamy siÍ wpierw z systemem prezentacjigrafiki. Bazowy system graficzny dzieli kaødπ stronÍ na trzyg≥ówne obszary: marginesy zewnÍtrzne (ang. outer margins),obszar rysunku (ang. figure region) oraz obszar kreúlenia (ang.plot region). Obszar jaki uzyskujemy po odrzuceniu marginesówzewnÍtrznych nazywany jest obszarem wewnÍtrznym (ang. innerregion).

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 3: Grafika w R

Podstawy R

Podzia≥ strony graficznej

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 4: Grafika w R

Podstawy R

Obszar na zewnπtrz obszaru kreúlenia, ale wewnπtrz obszarurysunku nazywa siÍ marginesami rysunku (ang. figure margins).WiÍkszoúÊ funkcji rysujπcych wykorzystuje obszar kreúlenia dorysowania symboli graficznych oraz linii, natomiast osie orazetykiety nanoszone sπ na marginesach rysunku lub marginesachzewnÍtrznych. Rozmiar oraz po≥oøenie marginesów kontrolowanesπ za pomocπ funkcji par. Polecenia graficzne w R moøna podzieliÊna trzy typy: funkcje wysokiego poziomu, funkcje niskiego poziomuoraz funkcje parametrów graficznych.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 5: Grafika w R

Podstawy R

Funkcje wysokiego poziomu

Tworzπ nowy wykres:

plot – wykres punktowy, najpopularniejsza funkcja graficzna,przeciπøona praktycznie dla kaødego obiektu,

curve – wykres funkcji.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 6: Grafika w R

Podstawy R

Funkcje wysokiego poziomu

Kaøda funkcja wysokiego poziomu moøe zostaÊ wywo≥ana zparametrami.

add=FALSE – jeøeli TRUE, nak≥ada wykres na juø istniejπcy,

axes=TRUE – jeøeli FALSE, nie rysuje osi i pude≥ka naoko≥o,

type=’p’ – okreúla rodzaj wykresu. G≥ówne typy to: ’p’ –punkty, ’l’ – linie bez punktów, ’b’ – punktypo≥πczone za pomocπ linii, ’o’ – linie oraz punkty nanich leøπce, ’h’ – linie pionowe, ’s’ oraz ’S’ – linie≥πczπ punkty (najpierw w poziomie potem w pionielub na odwrót), ’n’ – pusty wykres,

xlim=, ylim= – okreúla poczπtek i koniec osi,

xlab=, ylab= – tytu≥y osi,

main= – tytu≥ wykresu,

sub= – podtytu≥ (mniejsza czcionka).

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 7: Grafika w R

Podstawy R

Uøycie parametru type w procedurach graficznych

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 8: Grafika w R

Podstawy R

Funkcje niskiego poziomu

Funkcje takie dodajπ pewne elementy do juø istniejπcego wykresu:

abline(a, b) – rysuje prostπ y = ax + b,

arrows(x0, y0, x1, y1) – dodaje strza≥kÍ,

legend(x, y, legend = ’legenda’) – dodaje legendÍ,

lines(x, y) – rysuje liniÍ,

points(x, y) – rysuje punkty,

poly(x, y) – rysuje wielokπt,

rect(x0, y0, x1, y1) – rysuje prostokπt,

text(x, y, label = ’tekst’) – dodaje ’tekst’ w punkcie (x, y).Moøemy dodawaÊ opisy matematyczne (i nie tylko), którychsk≥adnia opiera siÍ na wewnÍtrznym systemie R zbliøonym doTEXa,

title(’tytu≥’) – dodaje tytu≥.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 9: Grafika w R

Podstawy R

Funkcje parametrów graficznych

Zmieniajπ oraz poprawiajπ wyglπd okna graficznego. WiÍkszoúÊustawieÒ jest kontrolowana poprzez funkcjÍ par, która wywo≥anabez parametrów wyúwietla bieøπce ustawienia okna. Jednπ znajwaøniejszych opcji oferowanych przez par jest podzia≥ oknagraficznego. Uzyskujemy to za pomocπ opcji mfrow oraz mfcol. Wtym pierwszym przypadku obrazki rysowane sπ po wierszach, wdrugim po kolumnach. Bardziej skomplikowane uk≥ady mogπ byÊuzyskane za pomocπ poleceÒ split.screen oraz layout.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 10: Grafika w R

Podstawy R

Przyk≥adowe uk≥ady rysunków stworzone za pomocπ funkcji layout

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 11: Grafika w R

Podstawy R

Podstawowe parametry graficzne (1)

ask Ustawienie na TRUE powoduje, øe przed rozpoczÍciem rysowanianaleøy nacisnπÊ dowolny klawisz.

adj Wyrównanie tekstu, 0 – do lewej, 0.5 – do úrodka, 1 – do prawej.bg Kolor t≥abty Kontroluje rodzaj obramowania rysunku (w po≥πczeniu z funkcjπ

box). Dopuszczalne wartoúci to: ’n’, ’o’, ’l’, ’7’, ’c’, ’u’, ’]’, gdzie ’n’oznacza brak obramowania, natomiast pozosta≥e parametry okreúlajπtypy obramowania zgodne z wyglπdem znaków, np. : ’u’ – wszystkielinie poza górnπ.

cex WielkoúÊ powiÍkszenia symboli i tekstu. Moøna równieø uøywaÊ:cex.axis, cex.lab, cex.main, cex.sub.

col Kolor punktów, linii, tekstu oraz wype≥nionych obrazków. Za po-mocπ dodatkowych poleceÒ (col.axis, col.lab, col.main, col.sub) uzy-skujemy kolor osi, etykiet oraz tytu≥u i podtytu≥u.

font Typ czcionki dla tekstu: 1 – normalna, 2 – pogrubiona, 3 – po-chylona, 4 – pogrubiona i pochylona. Dla osi, etykiet oraz tytu≥ui podtytu≥u zmieniamy czcionkÍ za pomocπ font.axis, font.lab orazfont.main i font.sub odpowiednio.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 12: Grafika w R

Podstawy R

Podstawowe parametry graficzne (2)

lty Okreúla typ linii, 0 – brak linii (’blank’), 1 – ciπg≥a (’solid’), 2 –przerywana (’dashed’), 3 – kropkowana (’dotted’), 4 – kropka-kreska(’dotdash’), 5 – d≥uga kreska (’longdash’), 6 – podwójna kreska(’twodash’). Poza tym istnieje moøliwoúÊ okreúlenia dowolnej linii,w taki sposób, øe po kolei w liczbach szesnastkowych podajemy ilejednostek ma byÊ wype≥nionych liniπ, a ile pustych (maksymalnieosiem znaków, tylko parzyste d≥ugoúci), np:. lty = ’13’ oznacza liniÍkropkowanπ.

lwd GruboúÊ liniinew Ustawienie na TRUE powoduje, øe nowy wykres rysowany jest na

istniejπcym wykresie bez jego czyszczenia.pch Symbol uøywany na obrazkach, moøna uøywaÊ domyúlnych symboli

okreúlonych liczbami od 0 do 25. Symbole 21–25 róøniπ siÍ od wcze-úniejszych jedynie typem wype≥nienia. Dodatkowo istnieje moøliwoúÊuøycia znaków o kodach ASCII od 32 do 255 z bieøπcej czcionki(wszystkie symbole dostÍpne do uøycia moøna wyúwietliÊ poleceniemsymbolTable z pakietu fBasics).

ps WielkoúÊ czcionki (w punktach)srt Kπt obrotu tekstu (w stopniach)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 13: Grafika w R

Podstawy R

Predefiniowane typy linii (6 pierwszych) oraz przyk≥adowe linieuøytkownika (7. i 8.)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 14: Grafika w R

Podstawy R

Symbole uøywane na rysunkach

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 15: Grafika w R

Podstawy R

par() – karta pomocy

pch | Point Types family, font | Typeface and Font Style

family: monofont: 1

family: monofont: 2

family: monofont: 3

family: monofont: 4

family: seriffont: 1

family: seriffont: 2

family: seriffont: 3

family: seriffont: 4

family: sansfont: 1

family: sansfont: 2

family: sansfont: 3

family: sansfont: 4

Also available: font.main (main title), font.lab (axis labels), font.sub (subtitle)

par() Graphical Parameters

lty | Line Types1

2

3

4

5

6

lwd | Line Width.1

.25

.5

1

3

6

1 2 3

4 5 6

mfrow | Multiple Figures by Row2,3

Also available mfcol for multiple figures by column

10

00

10

10

00 10

010

010

0 010 10

las | Label Orientation

0Parallel to axes

1Horizontal

2Perpendicular to axes

3Vertical

text text

text tex

t

0 45 90 135'c' 'u' ']'

'o' 'l' '7'

bty | Box Type

tck | Tick Length

-0.1 0.l 1

srt | String Rotation

lab | Tick Placement

5 10

5

10,1 2,2

1010

10

10,10 1,10

105

1

105

1

1 5 10

1 5 10

ann | Plot Annotation

Based on Flowing Data’s cheat sheet

Some Title

y-va

lues

x-values

Figures Arrangement

Symbol Styles Axes Text and Labels

you can also use any character

TRUE FALSEThe quick brown fox jumps over the lazy dog and runs

away with all the food

The quick brown fox jumps

over the lazy dog and runs

away with all the food

lheight | Line Height1

1.5

Visual cheat sheet for some plot parameters in R. See ?par for more information.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 16: Grafika w R

Podstawy R

Kolory

Do kolorów moøna siÍ odwo≥ywaÊ za pomocπ nazwy lubkorzystajπc z modelu RGB. Wszystkie 657 nazw kolorów moøemywyúwietliÊ za pomocπ funkcji colors(). Natomiast podajπc kolor wmodelu RGB podajemy go w nastÍpujπcej postaci: ’#RRGGBB’,gdzie RR (czerwony), GG (zielony), BB (niebieski) to natÍøeniekaødej ze sk≥adowych barwnych z przedzia≥u (0, 255) zapisane wpostaci liczby szesnastkowej. Istnieje równieø moøliwoúÊskorzystania z jednej z palet wbudowanych: rainbow, heat.colors,terrain.colors, topo.colors, cm.colors.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 17: Grafika w R

Podstawy R

Kolory

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 18: Grafika w R

Podstawy R

Kolory

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 19: Grafika w R

Podstawy R

Interakcja z obrazkiem

Po stworzeniu wykresu moøemy w niego równieø, w ograniczonysposób, ingerowaÊ za pomocπ myszki. Najprostszπ tego typufunkcjπ jest:

locator(n = 512, type = ’n’)

gdzie n oznacza iloúÊ punktów, a type ma analogiczne znaczenie doparametrów funkcji wysokiego poziomu.Drugim uøytecznym poleceniem jest

identify(x, y, labels)

które pozwala wskazywaÊ punkty na wykresie. Na wykresiedodawana jest etykieta ze zbioru labels (lub numer punktu wzbiorze danych jeúli nie podano wektora etykiet), dla punktunajbliøszego wskazania.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 20: Grafika w R

Podstawy R

Interakcja z obrazkiem

Po stworzeniu wykresu moøemy w niego równieø, w ograniczonysposób, ingerowaÊ za pomocπ myszki. Najprostszπ tego typufunkcjπ jest:

locator(n = 512, type = ’n’)

gdzie n oznacza iloúÊ punktów, a type ma analogiczne znaczenie doparametrów funkcji wysokiego poziomu.Drugim uøytecznym poleceniem jest

identify(x, y, labels)

które pozwala wskazywaÊ punkty na wykresie. Na wykresiedodawana jest etykieta ze zbioru labels (lub numer punktu wzbiorze danych jeúli nie podano wektora etykiet), dla punktunajbliøszego wskazania.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 21: Grafika w R

PodstawyR

Podstaw

owewykresy

TomaszGórecki

Statystycznesystemyuczπce(W4)

Page 22: Grafika w R

Podstawy R

Histogram

Histogram – zbór przylegajπcych prostokπtów, których podstawy,równe rozpiÍtoúci przedzia≥ów klasowych znajdujπ siÍ na osiodciÍtych, a wysokoúci sπ liczebnoúciami przedzia≥ów. Tworzymygo za pomocπ polecenia:

hist(dane, breaks, probability = F),

gdzie breaks moøe byÊ liczbπ okreúlajπcπ liczbÍ s≥upków (jest totylko sugestia) lub wektorem zawierajπcym punkty, gdzie majπ byÊs≥upki; probability – zamiast liczebnoúci rysowane sπ czÍstoúci.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 23: Grafika w R

Podstawy R

Histogram

CzÍsto do tak utworzonego histogramu dodaje siÍ na dole wartoúciobserwacji za pomocπ polecenia

rug(jitter(dane)),

co pozwala zaobserwowaÊ gdzie dok≥adnie sπ obserwacje wklasach. Polecenie jitter dodaje losowy szum do danych, copowoduje, øe jeúli mamy kilka takich samych wartoúci, to nie sπone przedstawione jako pojedynczy punkt, ale kilka punktów bliskosiebie.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 24: Grafika w R

Podstawy R

Histogram

Niestety histogram nie nadaje siÍ do analizy zmiennychdyskretnych. W takiej sytuacji moøna wykorzystaÊ wykres typu„zawieszony korzeÒ”(ang. hanging rootogram). Jest to diagram,na którym na osi pionowej znajdujπ siÍ pierwiastki zzaobserwowanych czÍstoúci (aby nieco sp≥aszczyÊ wykres iuwypukliÊ równieø ma≥e liczebnoúci). Dodatkowo rysowana jestteoretyczna funkcja gÍstoúci dopasowywanego rozk≥adu. Jednakøes≥upki sπ tak przesuniÍte aby dotyka≥y dopasowywanej krzywej.Wykres taki zosta≥ zaimplementowany w pakiecie vcd w funkcjirootogram.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 25: Grafika w R

Podstawy R

Wykres pude≥kowy (1)

Wykres pude≥kowy inaczej ramkowy (ang. boxplot,box-and-whisker plot). Tworzymy go odk≥adajπc na pionowej osiwartoúci niektórych parametrów rozk≥adu. Nad osiπ umieszczonyjest prostokπt (pude≥ko), którego dolny bok jest wyznaczony przezpierwszy kwartyl, górny bok zaú przez trzeci kwartyl. WysokoúÊpude≥ka odpowiada wartoúci rozstÍpu Êwiartkowego. Wewnπtrzprostokπta znajduje siÍ pozioma linia, okreúlajπca wartoúÊ mediany.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 26: Grafika w R

Podstawy R

Wykres pude≥kowy (1)

Rysunek pude≥ka uzupe≥niamy od góry i od do≥u odcinkami (wπsy).Dolny koniec dolnego odcinka wyznacza najmniejszπ wartoúÊ wzbiorze, natomiast górny koniec górnego odcinka, to wartoúÊnajwiÍksza. KoÒcowe wartoúci wπsów muszπ spe≥niaÊ dodatkowywarunek, a mianowicie dolny koniec nie moøe byÊ mniejszy niøQ

1

� 1,5 · (Q3

� Q

1

), a górny wiÍkszy niø Q3

+ 1,5 · (Q3

� Q

1

).Jeúli wystÍpujπ obserwacje spoza tego przedzia≥u, to nanoszone sπna wykres indywidualnie (sπ to tzw. obserwacje odstajπce (ang.outlier)).

(dane, formu≥a).

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 27: Grafika w R

Podstawy R

Wykres pude≥kowy (2)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 28: Grafika w R

Podstawy R

Wykres paskowy (1)

Dla prób, w których istniejπ powtarzajπce siÍ wartoúci, uøywa siÍrównieø wykresu paskowego (ang. stripchart). Na wykresie takimrysowane sπ wszystkie obserwacje w jednej poziomej linii, przyczym mamy moøliwoúÊ wyboru metody postÍpowania w przypadkuwartoúci powtarzajπcych siÍ.

stripchart(dane, method).

Parametr method okreúla sposób postÍpowania w przypadkuobserwacji powtarzajπcych siÍ i moøe przyjmowaÊ wartoúÊ: ’stack’,’overplot’ oraz ’jitter’.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 29: Grafika w R

Podstawy R

Wykres paskowy (2)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 30: Grafika w R

Podstawy R

Wykres skrzypcowy

Wykres skrzypcowy (ang. violin plot). Moøna go traktowaÊ jakowyg≥adzonπ wersjÍ wykresu pude≥kowego. Przydatny jestzw≥aszcza w przypadku danych wielomodalnych. Jest to wzasadzie wykres pude≥kowy, gdzie szerokoúÊ skrzypiec w punkcie xodpowiada natÍøeniu obserwacji o wartoúci cechy zbliøonej do x(estymator jπdrowy gÍstoúci). Funkcja vioplot znajduje siÍ wpakiecie o tej samej nazwie.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 31: Grafika w R

Podstawy R

Porównanie wykresu skrzypcowego i pude≥kowego

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 32: Grafika w R

Podstawy R

Wykres typu „≥odyga – liúcie” (1)

Wykres typu „≥odyga – liúcie” (ang. stem and leaf plot, stemplot).Jego celem jest po≥πczenie dok≥adnoúci polegajπcej na zachowaniuoryginalnych wartoúci poszczególnych obserwacji z zaletamihistogramu. Jeúli np. bÍdziemy rozpatrywaÊ dane dotyczπce wiekubadanych, to wszystkie liczby moøna zapisaÊ jako dziesiπtki ijednostki (poza szczególnymi przypadkami osób ponad100-letnich). Po prawej stronie od linii obrazujπcej dziesiπtkibÍdziemy zapisywali jednostki odpowiadajπce poszczególnymobserwacjom. W taki sposób otrzymujemy obrócony o 90o

histogram. Dodatkowo jednak moøemy z niego odczytaÊ wartoúciposzczególnych obserwacji.

stem(dane)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 33: Grafika w R

Podstawy R

Wykres typu „≥odyga – liúcie” (2)

3 0 45721 1 00123344555566667778918 2 00122333455667778833 3 00011122334444455555556666789999915 4 12455566677788911 5 003445789997 6 1112235

Liczby po lewej stronie ≥odygi informujπ o liczebnoúci klas. CyfryujÍte w | | oznaczajπ liczbÍ dziesiπtek, natomiast cyfry po prawejstronie ≥odygi to cyfry jednoúci. Zapisane w ten sposób liczbyodczytujemy tak, øe pierwsza cyfra uwidoczniona jest na ≥odydze,druga cyfra zaú tworzy liúÊ (np. |4|5 odczytujemy jako czterydziesiπtki i 5 jednoúci, czyli 45). Z diagramu tego moøemyodczytaÊ np., øe by≥y 3 osoby w wieku poniøej 10 lat i mia≥y oneodpowiednio: 4, 5 oraz 7 lat; osób w wieku 10-19 lat by≥o 21 iliczy≥y sobie one: 10, 10, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16,16, 16, 16, 17, 17, 17, 18, 19 lat itd.

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 34: Grafika w R

Podstawy R

Wykres s≥upkowy

Wykres s≥upkowy (kolumnowy) (ang. bar plot) – uøywany raczej wprzypadku danych jakoúciowych, przedstawia kolejne kategoriedanych za pomocπ s≥upków odpowiedniej wysokoúci. Moøe byÊpoziomy lub pionowy (czasami wystÍpuje rozróønienie, pionowynazywany jest wtedy kolumnowym, a poziomy s≥upkowym).Czasami uøywa siÍ równieø tzw. wykresu Pareto, gdzie s≥upkirysowane sπ od najwyøszego do najniøszego. Czasami dobrymrozwiπzaniem moøe byÊ zastπpienie wykresu s≥upkowego przezwykres kropkowy (ang. dotchart).

barplot(dane) #Wykres s≥upkowybarplot(sort(dane, decreasing = T)) #Wykres Pareto

dotchart(dane) #Wykres kropkowy

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 35: Grafika w R

Podstawy R

Wykres ko≥owy

Wykres ko≥owy (ang. pie chart). Wartoúci liczbowe sπprzedstawiane za pomocπ wycinków ko≥a. Wykres ko≥owywystÍpuje w rozmaitych wariantach graficznych. Typowy jestwykres p≥aski, ale moøna teø utworzyÊ trójwymiarowy „tort” lub„ser”.

pie(dane)

Funkcja rysujπca trójwymiarowy wykres ko≥owy (serowy) znajdujesiÍ w pakiecie plotrix.

pie3D(dane, radius = promieÒ, explode = odstÍpy, labels =etykiety)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 36: Grafika w R

Podstawy R

Wykres kwadratów

Wykres kwadratów (ang. squareplot). W pakiecie UsingR znajdujesiÍ bardzo ciekawy wykres do prezentacji liczebnoúci kategoriidanych. Powsta≥ on na bazie podobnych wykresówprezentowanych w gazecie New York Times. W przeciwieÒstwie dowykresów s≥upkowych oraz ko≥owych widzimy dok≥adnie liczebnoúÊkaødej kategorii.

squareplot(dane, kolory)

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 37: Grafika w R

Podstawy R

Tomasz Górecki Statystyczne systemy uczπce (W4)

Page 38: Grafika w R

PodstawyR

TomaszGórecki

Statystycznesystemyuczπce(W4)

Page 39: Grafika w R

Podstawy R

Tomasz Górecki Statystyczne systemy uczπce (W4)