Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用不同形状的簇和不同颜色的原始类绘制簇的输出?_Python_Matplotlib_Plot_Cluster Analysis - Fatal编程技术网

Python 如何使用不同形状的簇和不同颜色的原始类绘制簇的输出?

Python 如何使用不同形状的簇和不同颜色的原始类绘制簇的输出?,python,matplotlib,plot,cluster-analysis,Python,Matplotlib,Plot,Cluster Analysis,我有一个包含X1、X2和类标签的数据集。我使用Kmeans对这个数据集进行聚类,现在为了绘制结果,我需要在新的聚类中具有相同形状的点;和原始类中具有相同颜色的点 data = load_my_dataset() X = data.data[:, :2] # we only take the first two features. y = data.target kmeans = KMeans(n_clusters=2) kmeans.fit(X)rint(kmeans.labels_) d

我有一个包含X1、X2和类标签的数据集。我使用Kmeans对这个数据集进行聚类,现在为了绘制结果,我需要在新的聚类中具有相同形状的点;和原始类中具有相同颜色的点

data = load_my_dataset() X = data.data[:, :2] # we only take the first two features. 

y = data.target kmeans = KMeans(n_clusters=2) kmeans.fit(X)rint(kmeans.labels_) 
df = DataFrame(dict(x1=X[:,0], x2=X[:,1], label=kmeans.labels_, target=y)) 
colors = {0:'red', 1:'blue'} markers = { 0:"o" , 1:"v" } 
fig, ax = pyplot.subplots(figsize=(15,10))
grouped = df.groupby('label')

for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='x1', y='x2', label=key, 
    color=colors[key], marker=markers[key]) pyplot.show() 




独立设置
颜色
标记
,而不是使用相同的键

非常简单,只是需要两个循环和一点交叉操作。

data=load\u my\u dataset()X=data.data[:,:2]#我们只使用前两个功能。y=data.target kmeans=kmeans(n_clusters=2)kmeans.fit(X)rint(kmeans.labels_u)df=DataFrame(dict(x1=X[:,0],x2=X[:,1],label=kmeans.labels_u,target=y))colors={0:'red',1:'blue'}markers={0:'o',1:'v'}fig,ax=pyplot.subplot(figsize=(15,10))grouped=df groupby('label')关键字,分组组中的组:grouped:group.plot(ax=ax,kind='scatter',x='x1',y='x2',label=key,color=colors[key],marker=markers[key])pyplot.show()