在R中绘制垂直颜色线

时间:2013-11-11 16:25:17

标签: r plot

我想为下面的时间序列绘制多个颜色垂直线,

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

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

3 个答案:

答案 0 :(得分:1)

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

abline(v = data[data[, 2] == 1, 1], col = 'blue')
abline(v = data[data[, 2] == -1, 1], col = 'red')

答案 1 :(得分:0)

@ ChristopherLouden的答案没有错,但这只是一次调用abline的方法:

abline(v=m[,1], col=c('red', NA, 'blue')[as.numeric(as.factor(m[,2]))])

答案 2 :(得分: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")