未找到带标签的句柄以放入图例中。 plt.legend()
No handles with labels found to put in legend. plt.legend()
我刚学会 python,这实际上是我的第一课,我被告知要用 python 制作 kmeans。当我在做的时候,当我使用 plt.legend() 时它给了我一个错误,我在 sov 中读到我们应该使用 ax.legend,但显然要么它不起作用,要么我写错了。所以我想我会在将其更改为斧头之前先给出代码。我的英语不是很好所以请耐心等待。谢谢
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("Umur.xlsx")
df.head()
print(df)
a = plt.scatter(df['Umur'],df['Gaji'])
plt.show()
km = KMeans(n_clusters=3)
km
y_predicted = km.fit_predict(df[['Umur','Gaji']])
y_predicted
print(y_predicted)
df['cluster'] = y_predicted
df.head()
print(df)
df1 = df[df.cluster==0]
df2 = df[df.cluster==1]
df3 = df[df.cluster==2]
plt.scatter(df1.Umur,df1['Gaji'],color='green')
plt.scatter(df2.Umur,df2['Gaji'],color='red')
plt.scatter(df3.Umur,df3['Gaji'],color='black')
#plt.scatter(km.cluster_centers_[:,0],km_clusters_centers_[:,1],color='purple',marker='*',label='centroid')
plt.xlabel('Umur')
plt.ylabel('Gaji')
plt.legend ()
我编辑三行并添加一行,如下所示:
...
gaji_green = plt.scatter(df1.Umur,df1['Gaji'],color='green')
gaji_red = plt.scatter(df2.Umur,df2['Gaji'],color='red')
gaji_balck = plt.scatter(df3.Umur,df3['Gaji'],color='black')
...
plt.legend((gaji_green, gaji_red, gaji_balck),
('gaji_green', 'gaji_red', 'gaji_balck'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
...
最后,代码如下:
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("Umur.xlsx")
km = KMeans(n_clusters=3)
y_predicted = km.fit_predict(df[['Umur','Gaji']])
df['cluster'] = y_predicted
df1 = df[df.cluster==0]
df2 = df[df.cluster==1]
df3 = df[df.cluster==2]
gaji_green = plt.scatter(df1.Umur,df1['Gaji'],color='green')
gaji_red = plt.scatter(df2.Umur,df2['Gaji'],color='red')
gaji_balck = plt.scatter(df3.Umur,df3['Gaji'],color='black')
plt.xlabel('Umur')
plt.ylabel('Gaji')
plt.legend ()
plt.legend((gaji_green, gaji_red, gaji_balck),
('gaji_green', 'gaji_red', 'gaji_balck'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
plt.show()
我刚学会 python,这实际上是我的第一课,我被告知要用 python 制作 kmeans。当我在做的时候,当我使用 plt.legend() 时它给了我一个错误,我在 sov 中读到我们应该使用 ax.legend,但显然要么它不起作用,要么我写错了。所以我想我会在将其更改为斧头之前先给出代码。我的英语不是很好所以请耐心等待。谢谢
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("Umur.xlsx")
df.head()
print(df)
a = plt.scatter(df['Umur'],df['Gaji'])
plt.show()
km = KMeans(n_clusters=3)
km
y_predicted = km.fit_predict(df[['Umur','Gaji']])
y_predicted
print(y_predicted)
df['cluster'] = y_predicted
df.head()
print(df)
df1 = df[df.cluster==0]
df2 = df[df.cluster==1]
df3 = df[df.cluster==2]
plt.scatter(df1.Umur,df1['Gaji'],color='green')
plt.scatter(df2.Umur,df2['Gaji'],color='red')
plt.scatter(df3.Umur,df3['Gaji'],color='black')
#plt.scatter(km.cluster_centers_[:,0],km_clusters_centers_[:,1],color='purple',marker='*',label='centroid')
plt.xlabel('Umur')
plt.ylabel('Gaji')
plt.legend ()
我编辑三行并添加一行,如下所示:
...
gaji_green = plt.scatter(df1.Umur,df1['Gaji'],color='green')
gaji_red = plt.scatter(df2.Umur,df2['Gaji'],color='red')
gaji_balck = plt.scatter(df3.Umur,df3['Gaji'],color='black')
...
plt.legend((gaji_green, gaji_red, gaji_balck),
('gaji_green', 'gaji_red', 'gaji_balck'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
...
最后,代码如下:
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("Umur.xlsx")
km = KMeans(n_clusters=3)
y_predicted = km.fit_predict(df[['Umur','Gaji']])
df['cluster'] = y_predicted
df1 = df[df.cluster==0]
df2 = df[df.cluster==1]
df3 = df[df.cluster==2]
gaji_green = plt.scatter(df1.Umur,df1['Gaji'],color='green')
gaji_red = plt.scatter(df2.Umur,df2['Gaji'],color='red')
gaji_balck = plt.scatter(df3.Umur,df3['Gaji'],color='black')
plt.xlabel('Umur')
plt.ylabel('Gaji')
plt.legend ()
plt.legend((gaji_green, gaji_red, gaji_balck),
('gaji_green', 'gaji_red', 'gaji_balck'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
plt.show()