我想绘制一个折线图。根据值,它应该更改其颜色。
我发现的是:
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
函数将仅添加到现有绘图中。要创建具有正确轴和限制的空白图,请首先将plot
与type="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/