0

我想为时间序列绘制多色垂直线,如下所示,

    [1,] 4.698478   0
    [2,] 4.698205   1
    [3,] 4.698569   0
    [4,] 4.697385   -1
    ...

当 [,2] 为 1 时绘制一条蓝色垂直线,当 [,2] 为 -1 时绘制一条红线,不知道是否有人可以提供帮助,谢谢!

4

3 回答 3

1

您可以执行以下操作,假设data[, 1]是垂直线的 x 值:

abline(v = data[data[, 2] == 1, 1], col = 'blue')
abline(v = data[data[, 2] == -1, 1], col = 'red')
于 2013-11-11T16:28:22.577 回答
0

@ChristopherLouden 的回答没有错,但这将是一种在一次调用中做到这一点的方法abline

abline(v=m[,1], col=c('red', NA, 'blue')[as.numeric(as.factor(m[,2]))])
于 2013-11-11T16:37:45.670 回答
0

我最终使用了 quantmod 的图表功能,效果非常好。

chartSeries(price[,1])
addTA(price[,2]==1,pch=1, on=1,col="blue")
addTA(price[,2]==-1,pch=1, on=1,col="red")
于 2013-11-30T10:45:42.650 回答