Как мне пометить точки в моем кластере, используя python

У меня есть следующий кластер с использованием Python, и я хочу пометить точки внутри кластера. Я не уверен, как это сделать.

Python Cluster

import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

a = [262,562,733,335,544,259,682,423,769,444]

b = [19516842,16927322,14067158,12541731,10993709,10851871,10557379,10200356,10198000,9470625]

P = [list(item) for item in zip(a,b)]

kmeans = KMeans(n_clusters=2)
kmeans.fit(P)

labels = kmeans.labels_

colors = ["g.","r."]

for i in range(len(P)):
    print("coordinate:",P[i], "label:", labels[i])
    plt.plot(P[i][0], P[i][1], colors[labels[i]], markersize = 10)

plt.show()

1 ответ

Вот как я это делаю:

    import matplotlib.pyplot as plt
    from sklearn.cluster import KMeans

    a = [262,562,733,335,544,259,682,423,769,444]

    b = [19516842,16927322,14067158,12541731,10993709,10851871,10557379,10200356,10198000,9470625]

    P = [list(item) for item in zip(a,b)]

    kmeans = KMeans(n_clusters=2)
    kmeans.fit(P)

    labels = kmeans.labels_

    colors = ["g.","r."]

    for i in range(len(P)):
        print("coordinate:",P[i], "label:", labels[i])
        plt.plot(P[i][0], P[i][1], colors[labels[i]], markersize = 10)

    for label, x, y in zip(labels, a,b):
        plt.annotate(label, xy = (x, y), xytext = (-5, 5),textcoords = 'offset points', ha = 'right', va = 'bottom')
        #Fancy
        #plt.annotate(label, xy = (x, y), xytext = (-5, 5),textcoords = 'offset points', ha = 'right', va = 'bottom',bbox = dict(boxstyle = 'round,pad=0.5', fc = 'yellow', alpha = 0.5),arrowprops = dict(arrowstyle = '->', connectionstyle = 'arc3,rad=0'))


    plt.show()
Другие вопросы по тегам