在matplotlib的scatterplot中分配一个值

时间:2018-11-09 12:49:24

标签: python matplotlib

在尝试将不同的聚类技术与n个聚类进行比较的情况下,我尝试为颜色指定一个特定的值,在这种情况下为3:

print(data2D)

x       y      k_label        h_label
10      5        0               1
8       5        1               1
...

#1
plt.subplot(1, 2, 1)
#plt.figure(figsize=(8, 6))
plt.scatter(data2D[:,0], data2D[:,1], c=kmeans.labels_.astype(float))
#sns.scatterplot(x=data2D[:,0], y= data2D[:,1], data=data2D)
plt.title("K-MEANS")
#2
plt.subplot(1, 2, 2)
plt.scatter(data2D[:,0], data2D[:,1], c= agg_h.labels_.astype(float))
plt.tight_layout()
plt.title("AGGLOMERATIVE HIERARCHICAL CLUSTERING")
plt.show()

我尝试过:

temp = pd.DataFrame(data= {'h_label': np.unique(df.k_label), 'k_label': np.unique(df.k_label), "color": ["red", "blue", "yellow"] })

df = df.merge(temp, on = ["h_label"])
df["k_label"] = kmeans.predict(X)

但是似乎很多余,我不知道如何在Matplotlib中实现它。

简而言之,我想并排绘制两个数字,其中群集(k_label&h_label)= 1等于红色,= 2蓝色... n =最后一种颜色,等等。

1 个答案:

答案 0 :(得分:0)

您在寻找这个吗? 两个图都使用相同的颜色图? enter image description here