我获得了一些points
和一些centroids
代表某些积分点的中心。我被要求确定每个点属于哪个簇然后绘制它(使用scatter3
),并且每个点簇应该以不同的颜色着色。
如何生成大小为cluster_colors
的初始Cx3
矩阵,其中C
是群集/质心的数量?颜色是什么并不重要,但它们应该很容易区分。另外,我事先并不知道集群的数量。
答案 0 :(得分:2)
要使用SCATTER3为点着色,实际上需要Nx1矩阵(下例中的CLR
),其中N是点数。例如,该矩阵可以包含簇号。
scatter3(X,Y,Z,[],CLR)
将使用当前色彩映射中的颜色。要设置色彩图,您需要一个Cx3矩阵。您可以从任何现有的色彩映射中获取它。有关详细信息,请参阅COLORMAP。
例如,
colormap(jet(C))
实际上,色彩映射中的颜色数不必等于聚类数。
您还可以使用MATLAB colormap editor创建自己的色彩映射表。或者在FileExchange上找到许多漂亮的色彩映射,例如this one。