我想绘制一个折线图。根据值,它应该更改其颜色。
我发现的是:

plot(sin(seq(from=1, to=10,by=0.1)),type="p",
       col=ifelse(sin(seq(from=1, to=10,by=0.1))>0.5,"red","yellow"))

这样可行。但是,一旦我从type =“p”更改为type =“l”,条件着色就会消失。

这种行为是故意的吗?

用基础图形绘制具有不同颜色的功能线的解决方案是什么?

最佳答案

使用segments而不是lines
segments函数将仅添加到现有绘图中。要创建具有正确轴和限制的空白图,请首先将plottype="n"一起使用以绘制“无”。

x0 <- seq(1, 10, 0.1)
colour <- ifelse(sin(seq(from=1, to=10,by=0.1))>0.5,"red","blue")

plot(x0, sin(x0), type="n")
segments(x0=x0, y0=sin(x0), x1=x0+0.1, y1=sin(x0+0.1), col=colour)

有关更多详细信息,请参见?segments

关于r - 根据值用条件颜色绘制折线图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7344018/

10-12 14:14