2013-02-15 9 views
5

Szukam oznakowania punktów danych za pomocą indeksów - w celu łatwego zidentyfikowania numeru indeksu za pomocą oględzin.R arrowed etykietowanie punktów danych na działce

Tak na przykład,

x<-ts.plot(rnorm(10,0,1)) # would like to visually identify the data point indices easily through arrow labelling 

Oczywiście, jeśli istnieje lepszy sposób na osiągnięcie tego celu, proszę sugerować

+0

docenić wszystkie odpowiedzi! dziękuję za wszystkie głosy –

Odpowiedz

4

Można użyć arrows funkcję:

set.seed(1); ts.plot(x <-rnorm(10,0,1), ylim=c(-1.6,1.6)) # some random data 
arrows(x0=1:length(x), y0=0, y1=x, code=2, col=2, length=.1) # adding arrows 
text(x=1:10, y=x+.1, 0, labels=round(x,2), cex=0.65) # adding text 
abline(h=0) # adding a horizontal line at y=0 

enter image description here

3

Używaj my.symbols z pakietu TeachingDemos dostać strzałki kierujące do miejsc, które chcesz:

require(TeachingDemos) 
d <- rnorm(10,0,1) 
plot(d, type="l", ylim=c(min(d)-1, max(d)+1)) 
my.symbols(x=1:10, y=d, ms.arrows, angle=pi/2, add=T, symb.plots=TRUE, adj=1.5) 

enter image description here

2

Można użyć text() tego

n <- 10 
d <- rnorm(n) 
plot(d, type="l", ylim=c(min(d)-1, max(d)+1)) 
text(1:n, d+par("cxy")[2]/2,col=2) # Upside 
text(1:n, d-par("cxy")[2]/2,col=3) # Downside 
1

Tutaj wersji lattice, aby zobaczyć analogiczne niektórych funkcji bazowej.

set.seed(1234) 
dat = data.frame(x=1:10, y = rnorm(10,0,1)) 
xyplot(y~x,data=dat, type =c('l','p'), 
     panel = function(x,y,...){ 
     panel.fill(col=rgb(1,1,0,0.5)) 
     panel.xyplot(x,y,...) 
     panel.arrows(x, y0=0,x1=x, y1=y, code=2, col=2, length=.1) 
     panel.text(x,y,label=round(y,2),adj=1.2,cex=1.5) 
     panel.abline(a=0) 

     }) 

enter image description here

Powiązane problemy