使用matplotlib绘制折线图的时候,label不显示,控制台报错:
No handles with labels found to put in legend
源代码如下:
x_axis_data = [i+1 for i in range(10)]
plt.legend(loc='best')
plt.ylabel('Time/s')
plt.plot(x_axis_data, ntp, 'm^-', label='traditional algorithm')
plt.plot(x_axis_data, etp, 'bs-', label='improve algorithm')
plt.show()
原因很简单,plt.plot() 在绘制label的时候不知道绘制的图例在哪。
因此,plt.legend() 需要放在 plt.plot() 之后。
label显示成功。
报错可能的其他原因:
1、Python matplotlib 绘图报错:No handles with labels found to put in legend 解决办法
2、问题解决:matplotlib不显示label