尝试不要在循环中添加label,在lengend()中设置。示例:
import pandas as pd
traindata = pd.read_excel(r'F:\2021\qa\ot3\weight_hight\weights_heights.xlsx')[1:100]
evaldata = pd.read_excel(r'F:\2021\qa\ot3\weight_hight\weights_heights.xlsx')[100:121]
plt.figure(figsize=(16, 16))
def tsnetrainfig(traindatashape):
for i in range(len(traindatashape)):
p1=plt.scatter(traindatashape.iloc[i, 0], traindatashape.iloc[i, 1],c='#F08080',alpha=0.6,s=80)
return p1
def tsneevalfig(evaldatashape):
for i in range(len(evaldatashape)):
p2=plt.scatter(evaldatashape.iloc[i, 0],evaldatashape.iloc[i, 1],c='#8B0000',alpha=0.6,s=80)
return p2
a=tsnetrainfig(traindata)
b=tsneevalfig(evaldata)
plt.title('TSNE可视化')
plt.legend([a,b],['traindata','evaldata'])
plt.show()