考虑到我在matplotlib中有一个线对象,如何获得该线的图例标签?
Artist类的get_label()方法仅在图例未更改或创建标签(使用plt.legend()或类似方法)时有效。
使用Legend.get_legend_handler()可以获取与线相关联的处理程序,但它与任何文本都没有关联。Legend.get_lines()提供了一组线对象...但它们与绘制的对象不同。
以下是get_label()无法工作的示例:
Artist类的get_label()方法仅在图例未更改或创建标签(使用plt.legend()或类似方法)时有效。
使用Legend.get_legend_handler()可以获取与线相关联的处理程序,但它与任何文本都没有关联。Legend.get_lines()提供了一组线对象...但它们与绘制的对象不同。
以下是get_label()无法工作的示例:
x = [0,1]
y = [1,1]
line, = plt.plot(x,y)
plt.legend(("hello",))
plt.plot()
line.get_label() # returns '_line0'
有人有什么想法吗?
get_label()
将给出行的标签。这将是图例中使用的标签。为什么这不是你要找的?记住,制作一个问题的 [mcve] 总是有帮助的 - 在这种情况下创建一些代码并显示它产生了什么。明确说明代码应该产生什么结果。 - ImportanceOfBeingErnestget_label()
仅返回该行的标签。使用legend()
调用创建图例标签不会修改线条以添加标签,因此无法正常工作。 - Andrew Spottline.axes.get_legend()
获取图例。 - Andrew Spott