如何向项目依赖于整数变量的 pyplot 添加图例?

How to add a legend to a pyplot whose items depend on integer variable?

我正在实施 K-Means 聚类算法。我想在一个散点图中显示聚类数据集(每个颜色不同)。我这样做如下:

for i in range(k):
    plt.scatter(np.array(clustersets[i])[:, 0], np.array(clustersets[i])[:, 1], c=c_map(i))

,其中 k 是散点图中的中心数(-> 聚类集数)。 我现在想为每个数据集添加一个包含 1 个项目的图例。因此,这取决于预定义的数字 k

如何添加图例,使其覆盖散点图中的所有不同项,而不管 k 是什么?

你可以试试 c=KMeans(n_clusters=k).fit(X).labels_astype(float) 吗?

如果我没理解错的话,你想要一个从 0k 的图例。您可以使用带有字段说明符 %dlabel 选项来指定数据集。

for i in range(k):
    plt.scatter(np.array(clustersets[i])[:, 0], 
                np.array(clustersets[i])[:, 1], c=c_map(i), label='Dataset %d' %i)
plt.legend()