您应该添加逗号:
plot1, = plt.plot(a,b)
plot2, = plt.plot(a,c)
需要使用逗号的原因是,无论实际上从命令中创建了多少个对象,plt.plot()返回一个行对象的元组。如果没有逗号,则“ plot1”和“ plot2”是元组而不是行对象,从而使以后对plt.legend()的调用失败。
逗号会隐式解压缩结果,以便“ plot1”和“ plot2”自动成为元组中的第一个对象,即您实际想要的线对象,而不是元组。
http://matplotlib.sourceforge.net/users/legend_guide.html#adjusting-the- order-of-legend- items