我想为时间序列绘制多色垂直线,如下所示,
[1,] 4.698478 0
[2,] 4.698205 1
[3,] 4.698569 0
[4,] 4.697385 -1
...
当 [,2] 为 1 时绘制一条蓝色垂直线,当 [,2] 为 -1 时绘制一条红线,不知道是否有人可以提供帮助,谢谢!
您可以执行以下操作,假设data[, 1]
是垂直线的 x 值:
abline(v = data[data[, 2] == 1, 1], col = 'blue')
abline(v = data[data[, 2] == -1, 1], col = 'red')
@ChristopherLouden 的回答没有错,但这将是一种在一次调用中做到这一点的方法abline
:
abline(v=m[,1], col=c('red', NA, 'blue')[as.numeric(as.factor(m[,2]))])
我最终使用了 quantmod 的图表功能,效果非常好。
chartSeries(price[,1])
addTA(price[,2]==1,pch=1, on=1,col="blue")
addTA(price[,2]==-1,pch=1, on=1,col="red")