2010-11-16 12 views

Odpowiedz

14

Można użyć metody locator() w ramach metody text() metodą punktową &.

y <- rnorm(100, 10) 
y2 <- rnorm(100, 20) 
x <- 1:100 

plot(x, y, type = "n", ylim = c(0, 40), xlim = c(0, 120)) 
lines(x, y) 
lines(x, y2, col = "red") 
text(locator(), labels = c("red line", "black line)")) 

alt text

0

Spójrz na funkcję labcurve w pakiecie Hmisc.

9

Zamiast używać funkcji lokalizatora(), można również ustawić współrzędne etykiety jako funkcję danych. Na przykład, świnka kopii na Romana Demo:

text(x=rep(max(x)+3, 2), y=c(mean(y), mean(y2)), pos=4, labels=c('black line', 'red line')) 
3

Aby korzystać directlabels, trzeba uporządkować dane w data.frame a następnie użyć systemu kreślenia wysokim poziomie jak ggplot2 lub w poniższym przykładzie, kratownica:

y <- rnorm(100, 10) 
y2 <- rnorm(100, 20) 
x <- 1:100 
treatment <- rep(c("one group","another"),each=length(x)) 
df <- data.frame(x=c(x,x),y=c(y,y2),treatment) 
library(lattice) 
p <- xyplot(y~x,df,groups=treatment,type="l") 
if(!require(directlabels)){ 
    install.packages("directlabels") 
    library(directlabels) 
} 
print(direct.label(p)) 
print(direct.label(update(p,xlim=c(0,120)),last.points)) 
3

locator() jest interaktywny sposób uzyskania współrzędnych klikając na istniejącym wykresie.

Oto instrukcje, jak używać locator(), aby znaleźć odpowiednie współrzędne dla etykiety na wykresie.

Krok 1: sporządzić wykres:

plot(1:100) 

Krok 2: Wpisz następujące do konsoli:

coords <- locator() 

Krok 3: kliknąć raz na działce, następnie kliknij Stop .. Stop Locator w lewym górnym rogu wykresu (wróci to sterowanie z powrotem do konsoli R).

Krok 4: Znajdź zwróconych współrzędne:

coords 
$x 
[1] 30.26407 
$y 
[1] 81.66773 

Krok 5: Teraz można dodać etykietę do istniejącej działki przy użyciu tych współrzędnych:

text(x=30.26407, y=81.66773,label="This label appears where I clicked") 

lub

text(x=coords$x, y=coords$y,label="This label appears where I clicked") 

Oto wynik:

enter image description here

Zauważysz, że pojawi się etykieta z jego centrum, gdzie kliknąłeś. Lepiej, jeśli pojawi się etykieta z pierwszą postacią po kliknięciu. Aby znaleźć odpowiedni parametr, patrz pomoc dla text i dodać parametr pos=4:

text(x=30,y=80,pos=4,label = "hello") 

Uwagi:

  • etykiecie umieszczona w tym samym x, y współrzędne jako punkty na wykresie. Więc x = 100, Y = 0 pojawi się na prawym dolnym, natomiast x = 0, y = 100 pojawi się na lewym górnym.
  • Można również użyć legend(), aby narysować etykietę (rysuje ona pudełko wokół etykiety, która często wygląda ładniej).
  • Zobacz, jak zmienić czcionkę w legendzie i jak automatycznie umieścić legendę w prawym górnym rogu wykresu.
  • Polecam zapoznanie się z ggplot2 zamiast z działką, ponieważ ggplot2 to złoty standard tworzenia wykresów.