在使用聚类算法时,经常需要用不同颜色来表示不同簇的点,用MATLAB怎么画呢?
例如xdata是按列存放的二维点矩阵。Clusters是一个二维矩阵,每一行存放着聚类簇中的点序号(大于0),每个聚类簇中的点数不一定相同,用0补齐。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类型。
技术问题可以加QQ:739099538,加好友请备注优快云。
您的小小支持是我持续前进的巨大动力!