1
我可以绘制kmeans簇的所有数据点,以便使用不同的颜色表示簇。但是现在我想要将群集的中心绘制成与群集点相同的颜色。 这里是我的代码:绘制k-means簇的中心与其簇点的颜色相同
num_clusters=5
data2D = pca.transform(X)
centers2D = pca.transform(km.cluster_centers_)
labels=km.labels_
colors=['#000000','#FFFFFF','#FF0000','#00FF00','#0000FF']
col_map=dict(zip(set(labels),colors))
label_color = [col_map[l] for l in labels]
plt.scatter(data2D[:,0], data2D[:,1], c=label_color) # This plots the cluster points.
现在的问题就出在这里,我怎么还积群集中心点为彩色的点一样吗?具体来说,我应该使用什么c
?
plt.scatter(centers2D[:,0], centers2D[:,1], marker='x', s=200, linewidths=2, c=label_color)
使用c = label_color不起作用,因为centers2D是坐标列表,如下所示。我如何将坐标映射到与第一个散点图的整数相同的颜色?
print centers2D
[[ 0.03563292 -0.09528218]
[ 0.05799584 0.01593253]
[ 0.02265664 0.05109819]
[ 0.09457535 -0.11127898]
[-0.16129666 0.00428571]]