我绘制了一个空图,然后添加了一个lines()
函数,用于绘制数字向量的时间序列。我想更改线条,以便线条颜色(或线条类型)变化为二进制,具体取决于包含0
和1
的另一个数字向量。这是我到目前为止所得到的:
lines(x, y, type = "l",
col = ifelse(z == 0, "black", "green"))
x
和y
是列出要加入的点的数字向量num [1:2718]
; x
只包含1到2718之间的数字。z
是二进制数字向量num [1:2718]
,仅包含0
和1
; 0
中有786个1
和1932 z
个。对于每个案例z == 0
,该行应为黑色,在所有其他情况下(z == 1
),该行应为绿色。所有三个向量都具有相同的长度。
问题:到目前为止,该行全部为绿色,可能是因为z
的第一个元素是1.我手动将第一个元素从1更改为0后,该行为全黑。似乎R只取z
的第一个元素并相应地对线进行着色。使用z[i]
或z[x]
不会改变任何内容,该行仍为绿色。
我想不出一种方法告诉R连续获取z
的每个元素,并在绘制x
和y
时相应地使用条件颜色。如果任何理由使用条件线类型比颜色更容易,我也很满意这样的解决方案。我正在使用基本图形。
有关于此的任何想法吗?