如何将颜色与每个点群相关联?

时间:2012-03-20 20:22:21

标签: matlab octave

我获得了一些points和一些centroids代表某些积分点的中心。我被要求确定每个点属于哪个簇然后绘制它(使用scatter3),并且每个点簇应该以不同的颜色着色。

如何生成大小为cluster_colors的初始Cx3矩阵,其中C是群集/质心的数量?颜色是什么并不重要,但它们应该很容易区分。另外,我事先并不知道集群的数量。

1 个答案:

答案 0 :(得分:2)

要使用SCATTER3为点着色,实际上需要Nx1矩阵(下例中的CLR),其中N是点数。例如,该矩阵可以包含簇号。

scatter3(X,Y,Z,[],CLR)

将使用当前色彩映射中的颜色。要设置色彩图,您需要一个Cx3矩阵。您可以从任何现有的色彩映射中获取它。有关详细信息,请参阅COLORMAP

例如,

colormap(jet(C))

实际上,色彩映射中的颜色数不必等于聚类数。

您还可以使用MATLAB colormap editor创建自己的色彩映射表。或者在FileExchange上找到许多漂亮的色彩映射,例如this one