可视化K Means的时候怎么把聚类的中心点和样本点连起来?

  统计/机器学习 无监督学习 数据可视化 Python
0

K Means每个聚类都有个中心点,有没有什么方法可以把中心点和归属它的样本点连起来?


我在网站上看到的示意图如下


请问python里可以实现吗?我试了matplotlib.pyplot的scatter散点图,但是它不能画连线,只能标出散点。

谢谢!


 

ggg818   2017-12-07 00:27



   1个回答 
2

其实也不一定非要用plt.scatter。

不知道你的数据格式是怎么样的,所以我就用numpy.array做个例子

下面是我自己用plt.plot写了一段

import matplotlib.pyplot as plt; plt.style.use('ggplot')
a = np.random.normal(4, 1, 10)
b = np.random.normal(4, 1, 10)
center = [4, 4]
for point in zip(a, b):
    plt.plot([center[0], point[0]], [center[1], point[1]], marker='o', markersize=15, color='g', alpha=0.4)
plt.show()

效果如下



a = np.random.normal(0, 1, 10)
b = np.random.normal(0, 1, 10)
center = [0, 0]
for point in zip(a, b):
    plt.plot([center[0], point[0]], [center[1], point[1]], marker='o', markersize=15, color='g', alpha=0.4)
a = np.random.normal(4, 1, 10)
b = np.random.normal(4, 1, 10)

center = [4, 4]
for point in zip(a, b):
    plt.plot([center[0], point[0]], [center[1], point[1]], marker='o', markersize=15, color='r', alpha=0.4)
plt.show()

效果如下

希望对你有帮助!


Lydia   2017-12-07 08:51

厉害了,我还以为非要用scatter才能画散点图呢 - ggg818   2017-12-10 16:13


相关问题

python怎么画excel里那种双y轴的图?   1回答

用plt.hist画直方图,怎么返回每个bins的上下界和个数?   1回答

用matplotlib.pyplot作图时,调整标题中文字的大小   1回答

python画散点图   1回答

plt.scatter plot怎么让不同的类别有不同的颜色   2回答

matplotlib.pyplot环境下给曲线下方的面积涂色?   1回答

matplotlib.pyplot画图怎么添加横轴,纵轴的名字?   1回答

python直方图y轴显示占比,而不是绝对数值   1回答

python里怎么实现柱状图?   1回答

matplotlib如何设置画图格式,使得可视化效果更好   2回答

matplotlib.pyplot画图的标题中插入变量   1回答

seaborn如何显示图?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!