У меня есть диаграмма рассеяния, в которой цвета указывают, какому кластеру принадлежит точка:
ax = sns.scatterplot(x=1, y=0, hue=c, palette="Set2", data=emb_tsne.iloc[:n_hosts, :], alpha=0.6, s=80, ax=a)
здесь, emb_tsne
- это pandas фрейм данных с формой (200, 2), каждый строка представляет собой точку данных с двумя функциями. c
- вектор чисел из len 500 - каждый индекс i указывает кластер, которому принадлежит i-я точка в emb_tsne
.
в его нынешнем виде, цвета каждого кластера основаны на количестве кластеров с не постоянным, но могут быть обнаружены с помощью len(set(c))
и поддона (здесь его набор2).
У меня есть еще один график - линейный график:
f2, a = plt.subplots(1, 1, figsize=(18, 5))
for center in range(cluster_centers.shape[0]):
ax = sns.lineplot(x=range(cluster_centers.shape[1]), y=cluster_centers[center, :], ax=a, marker='o',
label='center {}'.format(center))
здесь, точка из каждого кластера нанесена на некоторые объекты. Мне бы хотелось, чтобы цвет точки на указанном кластере c соответствовал цвету этого кластера на графике рассеяния, и, если возможно, сохраните палитру set2.
как я могу это сделать?