python - 将颜色与 matplotlib 散点图中的数字相关联
问题描述
我正在使用 sklearn 根据一些零售数据做一个 kmeans 集群。
我们在幕后使用这个集群来细分客户(例如,蓝色客户很棒,绿色客户有这样那样的需求,等等)。
显示的数据点是不同的颜色,具体取决于客户已放入 4 个集群中的哪一个。但是我找不到直接推断哪种颜色是哪个段号的方法(或者如何强制某些段号为某种颜色)。
c=y
在散点图中,它使用 y 的值(即观察的预测段)来选择颜色。有4段。我只是不知道这四个中的哪一个被映射到哪种颜色!
有人可以建议我如何添加图例,或者自己强制颜色吗?
kmeans=kmeans.fit(X)
y=kmeans.predict(X)
fig = plt.figure()
ax = Axes3D(fig)
ax.view_init(30)
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
ax.set_xlabel(vx)
ax.set_ylabel(vy)
ax.set_zlabel(vz)
解决方案
您需要从散点图和绘图颜色条返回一个句柄,
cm = ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
plt.colorbar(cm)
作为一个最小的例子
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
X = np.random.randn(100,3)
y = np.random.randn(100)
fig = plt.figure()
ax = Axes3D(fig)
ax.view_init(30)
cm = ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=y)
plt.colorbar(cm)
plt.show()
推荐阅读
- javascript - 将高阶函数称为“模板”是否正确?
- git - git 强制将本地文件放在原点之上
- c++ - C++ 中闭包的返回类型
- javascript - 在 chrome 扩展中提交表单时弹出刷新
- prolog - 如何让我的迷宫程序创建两个路线列表并将其打印到控制台?
- mysql - 尝试使用 select 语句向存储过程中的变量添加值
- r - 修改 flexdashboard 的 shinyauthr
- mysql - mysql中sqlite_master系统表的等价物是什么?
- reactjs - firestore 通过反应获取和显示数据
- opengl - 我应该尽可能使用最新的 GLSL 版本吗?