简体   繁体   English

R箭头标记了图上的数据点

[英]R arrowed labelling of data points on a plot

I am looking to label data points with indices -- to identify the index number easily by visual examination. 我希望用索引标记数据点 - 通过目视检查轻松识别索引号。

So for instance, 所以,例如,

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

Of course, if there's a better way of achieving this, please suggest 当然,如果有更好的方法来实现这一点,请建议

You can use arrows function: 你可以使用arrows功能:

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

在此输入图像描述

Use my.symbols from package TeachingDemos to get arrows pointing to the locations you want: 使用来自TeachingDemos包的my.symbols来获取指向所需位置的箭头:

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)

在此输入图像描述

You can use text() for this 您可以使用text()

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

Here a lattice version, to see the analogous of some base function. 这里是一个lattice版本,看一些基本功能的类似。

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)

       })

在此输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM