254 git Trafika
Jedynym obowiązkowym argumentem jest macierz liczb. Wartości poszczególnych komórek tej macierzy są traktowane jak informacje o wysokościach i są konwertowane na kolory zgodnie z argumentem col. Dodatkowe argumenty umożliwiają określenie współrzędnych x i y dla kolumn i wierszy rysowanej macierzy oraz umożliwiają określenie zakresów, w których rysowane są wartości na osiach.
Na rysunku 4.36 przedstawiono wynik wywołania funkcji image O z poniższego przykładu. W tym przykładzie zsumowano efekty trzech punktów generujących fale koliste. Wysokość fali na obrazku przedstawiona jest kolorem. Proszę zwrócić uwagę, że przed wywołaniem funkcji image O redukowane są asie i marginesy obrazka.
X przygotowujemy macierz liczb, które następnie będę rysowane plusk - function(x,y,sl,s2)
sin(sqrt((x-sl)‘2+(y-s2)"2)/4)/(abs(x-sl)+abs(y-s2)+25) matl <= outer(l:200,1:200, plusk, sl«100, s2=50) mat2 « outer(l:200,1:200. plusk, sl=50, s2“100) mat3 « outer(l:200,1:200, plusk, sl=20, s2*20)
efektów kropli1
-m
$ usuwamy osie i marginesy, rysujemy złożenie trzech
par(bty="nh, mar-c(0,0,0,0))
image(matl+mat2+mat3, col=heat.colors(250))
Podobny efekt można uzyskać funkcją plot(pixraap) z pakietu pixmap. W tym pakiecie znajduje się wiele funkcji pozwalających na operowanie wykresami bitma-powymi, między innymi funkcja read.pnm(pixmap), która można wczytywać do R pliki graficzne zapisane w formacie pnm oraz funkcja addlogo(pixmap) pozwalająca na dodanie wskazanego przez użytkownika bitmapowego logo do dowolnego wykresu.
Rysunek 4.36: Wykres wykonany funkcją image()
Pełna kontrola
255
Funkcja axis() pozwala na narysowanie osi w dowolnym miejscu w dowolny sposób z dowolną zawartością. Poiużej deklaracja funkcji axis():
axis(side, at = NULL, labels = TRUE, tick = TRUE, linę ” NA, pos “ NA, outer “ FALSE, font = NA,
lty = "solid", lwd - 1, col = NULL, hadj “ NA, padj = NA, ...)
W tabeli 4.1 przedstawiliśmy opis ciekawszych argumentów tej funkcji. Efekty przykładowych wywołań tej funkcji umieszczone są na rysunku 4.39, a poniżej przedstawiamy kod użyty do wygenerowania tych efektów.
tt wyświetlany trzy osie widoczne no przykładowym u/ykresie, na osiach mogą być zaznaczone liczby lub określone przez nas napisy axis(4,0.5tseq(4,8,0.6))
fUtisCl, seq(1.5,2.8,0.3), pos=4.5, labels=c("przed","chwile przed",
"w trakcie","chwile po","po"), las-3) axis(2, 5:8, las-1, pos=<1.2, col-"green", lwd*3)
Tabela 4.1: Argumenty funkcji axis()
side |
Ten argument określa, po której stronie wykresu chcemy narysować oś. Znaczenie poszczególnych wartości jest następujące: 1-dół wykresu, 2-lewa strona, 3-góra wykresu i 4-prawa strona wykresu. Zobaoz też przykład na rysunku 4.40. |
at |
Ten argument powinien wskazywać na wektor punktów. W tych punktach będą rysowane prostopadłe kreseczki czyli znaczki tick rt^arks. |
labels |
Wartość, tego argumentu może być wartością logiczną lub wektorem napisów. Jeżeli jest to wartość logiczna, to będzie ona określała, czy mają być narysowane etykietki odpowiadające liczbowym wartościom znaczków tick marks. Można też określić wektor napisów równy długości wektora at, w którym określamy, co ma być wypisywane przy znaczkach na osi. |
tick |
Argument typu logicznego. Określa, czy punkty zaznaczeń mają być oznaczane krótkimi odcinkami czy nie mają być zaznaczane. |
linę |
Argument określający odległość (w liniach tekstu) od brzegu okna graficznego, w której narysowana będzie oś. Wartość 0 oznacza rysowanie przy ramce wykresu, ale możemy tę oś przesuwać, przybliżać i oddalać. |
pos |
Argument określający pozycje (we współrzędnych rysunku), w której rysowana będzie oś (nadpisuje wartość parametru linę). |
outer |
Argument typu logicznego, określający, czy oś ma być rysowana w obszarze zewnętrznych marginesów czy wewnętrznych (domyślna wartość to FALSE, czyli rysowanie na wewnętrznych marginesach). |
hadj |
Argument liczbowy pozwalający na przesunięcie opisu osi w kierunku równoległym do osi. Wartości ujemne przesuwają w lewo (dól), wartości dodatnie przesuwają w kierunku przeciwnym. |
padj |
Argument liczbowy pozwalający na przesunięcie opisu osi w kierunku prostopadłym do osi. Wartości ujemne przesuwają bliżej środka rysunku, dodatnie przesuwają na zewnątrz. |