根据电影时长和电影评分绘制散点图scatter
问题描述
使用python的scatter函数绘制散点图时,出现报错No handles with labels found to put in legend.翻译过来是:没有发现在图例中放置标签的句柄。
#根据电影时长和电影评分绘制散点图scatter
#导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
#中文乱码
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
data=pd.read_excel("./data/movie_data3.xlsx",index_col=0)
x=data["时长"]
y=data["评分"]
plt.scatter(x,y,color='b')
plt.title("电影时长与评分散点图",fontsize=20)
plt.xlabel("电影时长",fontsize=15)
plt.ylabel("评分",fontsize=15)
plt.legend()
plt.show()
原因分析:
1)“画图”时未指定label
2)制作图例在画图之前,则也会报错
解决方案:
(1)给scatter函数加上参数label
(2)先plt.plot(),再plt.legend()



