有条件地在R中绘制具有不同颜色的单线

时间:2018-01-17 13:15:49

标签: r plot colors time-series conditional

我绘制了一个空图,然后添加了一个lines()函数,用于绘制数字向量的时间序列。我想更改线条,以便线条颜色(或线条类型)变化为二进制,具体取决于包含01的另一个数字向量。这是我到目前为止所得到的:

lines(x, y, type = "l",
      col = ifelse(z == 0, "black", "green"))

xy是列出要加入的点的数字向量num [1:2718]; x只包含1到2718之间的数字。z是二进制数字向量num [1:2718],仅包含01; 0中有786个1和1932 z个。对于每个案例z == 0,该行应为黑色,在所有其他情况下(z == 1),该行应为绿色。所有三个向量都具有相同的长度。

问题:到目前为止,该行全部为绿色,可能是因为z的第一个元素是1.我手动将第一个元素从1更改为0后,该行为全黑。似乎R只取z的第一个元素并相应地对线进行着色。使用z[i]z[x]不会改变任何内容,该行仍为绿色。

我想不出一种方法告诉R连续获取z的每个元素,并在绘制xy时相应地使用条件颜色。如果任何理由使用条件线类型比颜色更容易,我也很满意这样的解决方案。我正在使用基本图形。

有关于此的任何想法吗?

0 个答案:

没有答案