centroids = { i+1: [np.random.randint(0,80), np.random.randint(0,80)] for i in range(k)}fig = plt.figure(figsize=(10, 5))plt.scatter(df['x'], df['y'], color='k')colmap = {1: 'r', 2: 'g', 3: 'b'}for i in centroids.keys(): plt.scatter(*centroids[i], color=colmap[i])
回答:
在plt.scatter方法中,你需要提供一个s参数来定义点的面积,如这个问题中所讨论的:pyplot散点图标记大小
因此,你的最后一个循环需要如下修改:
for i in centroids.keys(): plt.scatter(*centroids[i], color=colmap[i], s=4) # 更改s=参数