我的传奇没有出现

时间:2016-12-05 20:47:33

标签: python-2.7 matplotlib

我试图在图中内外展示我的传奇,但仍然看不到它。它只是空盒子。什么是错的

p1=plt.plot(np.logspace(-2,1,10), trainsScores, label="train scores")
p2=plt.plot(np.logspace(-2,1,10), testScores, label="test scores")
plt.legend([p1, p2], ["Train score", "Test score"], loc='upper center',bbox_to_anchor=(0.5, -0.05),
fancybox=True, shadow=True, ncol=5)
plt.xlabel('C')
plt.ylabel('Score')
plt.show()

enter image description here

1 个答案:

答案 0 :(得分:2)

你没有在控制台上打印警告吗?

UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x7f7a9a442518>] instances.

你有解释。 p1p2是列表,您无法将列表作为图例句柄传递。

>>> print(type(p1))
<class 'list'>

Line2D个实例分配到p1p2,这样就可以了。

p1, = plt.plot(np.logspace(-2,1,10), np.random.rand(10), label="train scores")
p2, = plt.plot(np.logspace(-2,1,10), np.random.rand(10), label="test scores")
plt.legend([p1, p2], ["Train score", "Test score"], loc='upper center',
           bbox_to_anchor=(0.5, -0.05), fancybox=True, shadow=True, ncol=5)
plt.xlabel('C')
plt.ylabel('Score')
plt.show()

enter image description here