刚学python不久,目前正在学习聚类,聚类后如何将聚类结果图形化呢?
我自己找的方法只能分为不同颜色,但是我想要不同形状,贴下关键代码吧。
sampleArray = D.loc[:,['1','2','3']].values
kmeans = KMeans(n_clusters=4, random_state=0,n_init=10,verbose=True).fit(sampleArray)
以上是聚类的代码。
D.plot.scatter(x='1',
y='2',
c=kmeans.labels_,
cmap='viridis_r',
norm=None, s=50)
plot.show()
以上是我目前画图的代码,这个是我在网上学习的,只能显示渐变颜色,但是我想要显示4种不同形状(4个聚类中心),该怎么做?
import matplotlib.pyplot as plt
sampleArray = D.loc[:,['1','2','3']].values
kmeans = KMeans(n_clusters=4, random_state=0,n_init=10,verbose=True).fit(sampleArray)
fig, ax = plt.subplots()
for i in range(len(kmeans.labels_)):
if kmeans.labels_[i] == 0:
ax.scatter(sampleArray[i,0], sampleArray[i,1], marker='o', color='blue')
elif kmeans.labels_[i] == 1:
ax.scatter(sampleArray[i,0], sampleArray[i,1], marker='s', color='red')
elif kmeans.labels_[i] == 2:
ax.scatter(sampleArray[i,0], sampleArray[i,1], marker='^', color='green')
elif kmeans.labels_[i] == 3:
ax.scatter(sampleArray[i,0], sampleArray[i,1], marker='*', color='purple')
plt.show()