【发布时间】:2012-03-21 04:50:09
【问题描述】:
我得到一些 points 和一些 centroids 代表一些点簇的中心。我被要求确定每个点属于哪个簇,然后绘制它(使用scatter3),每个点簇的颜色应该不同。
如何生成大小为Cx3 的初始cluster_colors 矩阵,其中C 是簇/质心的数量?颜色是什么并不重要,但它们应该很容易区分。另外,我事先不知道集群的数量。
【问题讨论】:
我得到一些 points 和一些 centroids 代表一些点簇的中心。我被要求确定每个点属于哪个簇,然后绘制它(使用scatter3),每个点簇的颜色应该不同。
如何生成大小为Cx3 的初始cluster_colors 矩阵,其中C 是簇/质心的数量?颜色是什么并不重要,但它们应该很容易区分。另外,我事先不知道集群的数量。
【问题讨论】:
要使用SCATTER3 为点着色,您实际上需要 Nx1 矩阵(在下面的示例中为CLR),其中 N 是点数。例如,该矩阵可以包含簇号。
scatter3(X,Y,Z,[],CLR)
将使用当前颜色图中的颜色。要设置颜色图,您确实需要一个 Cx3 矩阵。您可以从任何现有的颜色图中获取它。详情请见COLORMAP。
例如,
colormap(jet(C))
实际上,颜色图中的颜色数不必等于簇数。
您还可以使用MATLAB colormap editor 创建自己的颜色图。或者在 FileExchange 上找到许多漂亮的颜色图,例如 this one。
【讨论】: