我有一个整数向量,从1到4不等。
A=[1 2 3 4 2 3 2 1 2 3 4 4]
我想为每个值绘制不同颜色的A ... 将A(1)连接到A(2)的垂直线应该具有第一个值的颜色(在这种情况下为1)。
这可能吗?
以及如何处理向量中存在的NaN的情况? 我应该用时间向量绘制A
A = [1 1 1 NaN 4 4 4 Nan 2 2 3 3];
time = [1 2 3 4 5 6 7 8 9 10 11 12];
答案 0 :(得分:2)
假设您有以下一组颜色:
col = hsv(4);
您可以根据A:
的值设置颜色的顺序figure();
set(gca, 'ColorOrder', col(A,:), 'NextPlot', 'replacechildren');
然后,您可以绘制所需颜色的每一行:
n = numel(A);
plot(hankel(0:1,1:n-1),hankel(A(1:2),A(2:n)))
这导致:
修改强>
正如我们在荷兰所说,hankel
方法有点像用火箭筒射击杀死蚊子。无论如何,我几个问题前就已经了解了 - 所以我喜欢用它。请参阅Dan的帖子,了解更简单的绘图替代方案。不过,设置正确的颜色可以如上所述。
答案 1 :(得分:1)
你可以用一点技巧来做到这一点:
A=[1 2 3 4 2 3 2 1 2 3 4 4]
x = [1:numel(A)-1; 2:numel(A)];
y = A(x);
plot(x,y)