gpt4 book ai didi

python - 如何在 Python 中绘制聚类散点图

转载 作者:行者123 更新时间:2023-11-28 20:20:31 26 4
gpt4 key购买 nike

我正在进行聚类并尝试绘制结果。一个虚拟数据集是:

数据

import numpy as np

X = np.random.randn(10)
Y = np.random.randn(10)
Cluster = np.array([0, 1, 1, 1, 3, 2, 2, 3, 0, 2]) # Labels of cluster 0 to 3

集群中心

 centers = np.random.randn(4, 2)    # 4 centers, each center is a 2D point

问题

我想制作一个散点图来显示 data 中的点,并根据聚类标签为这些点着色。

然后我想将 center 点以另一种形状(例如“X”)和第五种颜色(因为有 4 个簇)叠加在同一个散点图上。


评论

  • 我转向了 seaborn 0.6.0,但没有找到完成任务的 API。
  • yhat 的
  • ggplot 可以使散点图更漂亮,但第二个图将取代第一个。
  • 我对 ma​​tplotlib 中的 colorcmap 感到困惑,所以我想知道我是否可以使用 seaborn 或 ggplot 来完成它。<

最佳答案

问题的第一部分可以使用 colorbar 并将颜色指定为 Cluster 数组来完成。我已经模糊地理解了你问题的第二部分,但我相信这就是你要找的。

import numpy as np
import matplotlib.pyplot as plt

x = np.random.randn(10)
y = np.random.randn(10)
Cluster = np.array([0, 1, 1, 1, 3, 2, 2, 3, 0, 2]) # Labels of cluster 0 to 3
centers = np.random.randn(4, 2)

fig = plt.figure()
ax = fig.add_subplot(111)
scatter = ax.scatter(x,y,c=Cluster,s=50)
for i,j in centers:
ax.scatter(i,j,s=50,c='red',marker='+')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.colorbar(scatter)

fig.show()

结果是:

enter image description here

其中您的“中心”已使用 + 标记显示。您可以按照为 x 和 y

所做的相同方式指定您想要的任何颜色

关于python - 如何在 Python 中绘制聚类散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com