基于聚类分配的颜色时间序列

时间:2013-11-23 10:54:21

标签: matlab plot k-means

说我有以下时间序列:

a = [1 3 1 5 1 3 5 1 5];

现在,在做kmeans(a,3)时,我获得了:

b = kmeans(a,3); // [1 2 1 3 1 2 3 1 3];基于群集。

我现在希望绘制a,以便a(i)的颜色对应于已在b中指定的聚类。有人可以告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

这将绘制每个点,其中x坐标增加,y坐标等于a,颜色由b给出:

colors = hsv(max(b)); %// or use other color maps: 
hold on
for ii = 1:length(a)
  plot(ii,a(ii),'marker', 'o', 'color',colors(b(ii),:)) %// option 1
end
axis([0 length(a+1) min(a)-1 max(a)+1])

enter image description here