■m
—
tt dodawanie linii, odcinków, symboli, ablinefO,-1,lwd=3,lty=2,col«"grey80") abline(0.1,lwd=3,lty=2,col«"grey80") abline (1,0, lwd=3, lty>=2, col="grey80") abline(-1 * 0,lvd»3,lty"2,col”"grey80")
gRimfikn
We wcześniejszych podrozdziałach przedstawiliśmy funkcje rysujące różne, najwymyślniejsze wykresy. Czasem zachodzi potrzeba dorysować dodatkowy element do takiego wykresu, dodać tekst, linie lub strzałkę. Poniżej przedstawiamy listę najpopularniejszych funkcji rysujących pojedyncze elementy:
symbols(graphics). Funkcja rysice we wskazanych punktach symbole. Mamy pełną kontrolę nad szerokością, wysokością, kolorem, liczbą, a nawet długością poszczególnych elementów symbolu.
polygon(graphics). Funkcja do rysowania krzywych zamkniętych, jak również obszarów wypełnionych kolorem. Zamiast wypełniać kolorem można za-kreskować obszary' (przydatne dla czarnobiałych wykresów). Mamy kontrolę nad gęstością zakreskowania, a nawet kątem nachylenia kresek. segments(graphics). Funkcja do rysowania odcinków. Z odcinków można oczywiście składać łamane, a z łamanych można już zrobić wszystko. arrous(graphics). Funkcja do rysowania strzałek. Strzałki mogą być skierowane w dowolnym kierunku (nawet w obu kierunkach jednocześnie, argument code=3). Mamy kontrolę nad długością grota oraz kątem rozwarcia strzałki. curve(graphics). Funkcja do rysowania wykresów funkcji matematycznych. Pierwszym parametrem jest interesująca nas funkcja lub wyrażenie jednej zmiennej, drugim jest zakres, w którym ma być ona narysowana (dokładniejszy opis znajduje się w podrozdziale 1.6.4). lines(graphics). Funkcja do rysowania łamanych.
abline(graphics). Funkcja do rysowania prostych (dokładniejszy' opis znajduje się w podrozdziale 1.6.4).
rect(graphics). Funkcja do rysowania prostokąta lub zbioru prostokątów. Manipulując poszczególnymi argumentami możemy uzyskać różne style i kolory wypełnienia oraz obramowania rysowanych prostokątów, points (graphics). Funkcja do rysowania punktów lub symboli graficznych. Możliwych symboli graficznych jest bardzo wiele, część z nich została przedstawiona na rysunku 4.38.
rug(graphics). Funkcja na wybranej osi zaznacza krótkimi kreseczkami obserwacje. Bardzo przydatna funkcja do nanoszenia na osie dodatkowych informacji o rozkładzie zmienny'ch, bardziej szczegółowych niż boxploty.
Wyniki z przykładowych wywołań tych funkcji przedstawione są na rysunku 4.38. Poniżej przedstawiamy kod wykorzystany do uzyskania tego rysunku.
plot (1 ,main="curvaO , abline O” ,type-“nl,,xliin=c(-pi,pi) ,ylim»c(-pi ,pl)) curve(sia,-pl,pi,add“T,lwd-3,col*"ra<l") - / curve(cos,-pi,pi,add“T,lud*3,col-"green") curve Ctan,-pi/2,pl/2,add*T,lwd“3, col«"blue")
okręgów, elips, luków, strzałek, itp
lcol » rainbow(6)
plot(1,main="polygon()",type-"n",xlim=c(0.5,7.5),ylim=c(-0.5,2.5)) polygon(c{l,1:7,7),cCO,1,2,1,2,1,2,1,0),col="red",lud=3) polygonCeCl,7,7),cC0,0,1),col="yellow“,lwd=3, angle=90, density”7) polygonCcCl ,7,7) ,c(0,0,1) ,col="ysllow" .lwd^, angle=45, density”7)
plotCl,nain*”aegmentsC)",type="ii" ,xlim=c(0,6) ,ylim=c(0,26)) segmentsCl/C2:25),2:25,2 + 1/(25:2),25:2,beat.colorsC24),lwd=3) segments(2 + 1/(2:25),2:2S.4-1/C2:25),2:25,rev(heat.colors(24)),lwd=3) segments(4 - l/(2:25),2:25,6-l/(2:25),25:2,rev(heat.colorsC24)),lud-3)
plotCl ,main="syabols()" .type"’^1' .ilim-cCO.S, 1.5) ,ylim=c(0.5,6.5)) symbolsCO.8,1, circles“0.2,add»T, bg-kol[l3, inches*F) symbolsCl.2,2, squares*0.3,add*T, bg^kol[2], inchas=F) symbole(0.8,3, rectangles=t(c(0.2,l)/2),add«T, bg»kol[3], inches-F) symbole(1.2,4, stars=as.raatrix(t(c(.5, .1, .6,. 1,.5,. 1, • 5,. 1, .5,. 0/2)), add=T, bg-kol[4], inches=F)
symbole(0.8,5, thermometers^as.matrix(t(e(.1,.45,.8))),add«T, bg-kol[0]) symbolsCl.2,6, boxplots=as.matrix(t(c(.1,.2,.3,.8,.9))),add=T, bg«kol[6])
plot(l ,main=''arrows()" ,type“"n" ^lim^cCO.e.G.S) ,ylim-c(0.5,11)) arrows(e(-3,0),c(0,-3),c(3,0),c(0,3),lud=3) for (i in 1:10) {
arrowsCl,i,2+4*i"2/100,i ,angle=(ll-i)»3,lwd=3,length*i/10, code«l+(i‘/,’/,3)) arróws(6.5,1,2*4*1*2/100 + 0.5,i,angle=10,lwd=l,length=0.1+1/10)
>
Funkcja locator (graphics) pozwala na odczytanie współrzędnych punktów whIoi zanych przez użytkownika na ekranie. Po uruchomieniu (powiedzie się jedynie, jeżeli jest otwarte okno graficzne z wykresem) można wskazywać myszką dowolne punk ty na wykresie. Wynikiem działania funkcji locatorO są współrzędne wskazanych punktów w układzie współrzędnych rysunku. Pierwszym argumentem tej funkcji (argument n) jest maksymalna liczba punktów do wskazania. Po wskazaniu określonej liczby punktów działanie jest przerywane i jako wynik funkcji przekazywane są współrzędne wskazanych punktów. Innym sposobem przerwania działania tej funkcji jest naciśnięcie klawisza ESC lub naciśnięcie prawego przycisku myszki i zakończenie działania funkcji. Drugim argumentem funkcji locatorO jest argument type przyjmujący takie same wartości jak w przypadku argumentu type dla funkcji plot O. Domyślna wartość "n" powoduje, że nic się nie dzieje na ekranie, ale wskazując inne wartości możemy sprawić, że w wybranych punktach będą dorysowane linie, punkty ^ lub inne symbole graficzne. Ten efekt uboczny pozwala na wygodne uzupełnienie wykresu o nowe elementy.
Funkcja locatorO odczytywała współrzędne dowolnych punktów na wykresie, funkcja identify(graphics) służy do identyfikacji indeksu narysowanego punktu, który znajduje się we wskazanym miejscu. Dosyć częstą sytuacją jest, że po nary-
I *«•!»•»• wnją ('Ig ayftiinly iltwlfluiw*
ftfHIIMOWAIMI |H««M
tuiikijg Mnfcw*
komenili) nplfnn*
(lofntur
n*u-rAt,Nit) i
łr