【发布时间】:2015-03-31 04:01:46
【问题描述】:
我能够绘制 kmeans 集群的所有数据点,以便用不同的颜色表示集群。但是现在我还想将集群的中心绘制为与集群点相同的颜色。 这是我的代码:
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 不起作用,因为 center2D 是一个坐标列表,如下所示。我如何将坐标映射到与我映射到第一个散点图的整数相同的颜色?
print centers2D
[[ 0.03563292 -0.09528218]
[ 0.05799584 0.01593253]
[ 0.02265664 0.05109819]
[ 0.09457535 -0.11127898]
[-0.16129666 0.00428571]]
【问题讨论】:
标签: python numpy matplotlib scipy scikit-learn