在使用聚类算法时,经常需要用不同颜色来表示不同簇的点,用MATLAB怎么画呢?
例如xdata是按列存放的二维点矩阵,ClusK是聚类算法聚类得到的不同簇(点类)的点的列序号矩阵,:
color={'g.','r.','c.','m.','y.','k.'};
for i=1:k
ClusK=setdiff(Clusters(i,:),0);
plot(xdata(ClusK,1),xdata(ClusK,2),color{i},'MarkerSize',10) % MarkerSize 表示点的大小,b.表示绿色的点
end
这样就能循环画出聚类算法得到的不同类不同颜色的点图了。重点在于color{i},一定要用{},如果用()则会报错提示是cell类型,但是用{},则是string类型。