首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制KMeans集群时的颜色问题

绘制KMeans集群时的颜色问题
EN

Stack Overflow用户
提问于 2022-04-12 22:29:48
回答 1查看 295关注 0票数 0

我试图用与集群相关的颜色来绘制数据,如下所示:

但是,当我编写这段代码时,它显示如下:

代码语言:javascript
复制
model = KMeans(n_clusters = 2)
model.fit(projected_data)
labels = model.predict(projected_data)
plt.scatter(projected_data[0],projected_data[1],c='red')
plt.show()

通过在线查看,我发现将c='red'更改为c=labels会解决问题,但当我将代码更改为plt.scatter(projected_data[0],projected_data[1],c=labels)时,它会给我带来以下错误:

'c' argument has 2 elements, which is inconsistent with 'x' and 'y' with size 6.

我如何使颜色动态变化(不需要键入6倍于c=['red','blue'...]的字符串数组)来获得每个集群的颜色?

如果您需要它自己测试它,projected_data变量等于

代码语言:javascript
复制
[[ 4  4 -6  3  1 -5]
 [ 0 -3  2 -1  5 -4]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-12 22:46:56

它在等待一份名单。您可以在这里看到一个示例,其中我们使用kmeans.labels_作为颜色参数。您可以更改调色板或将群集标签映射到所需颜色的字符串。

代码语言:javascript
复制
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
              [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)

x,y = X.T

print(kmeans.labels_)
plt.scatter(x,y, c=kmeans.labels_);

输出

代码语言:javascript
复制
[1 1 1 0 0 0]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71849799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档