显示/隐藏图表的图例

6 投票
1 回答
6695 浏览
提问于 2025-04-15 13:56

我对Python还比较陌生,现在正在开发一个pyqt的图形界面。我想提供一个复选框选项,用来显示或隐藏图表的图例。请问有没有办法隐藏图例呢?

我试过使用pyplot的'_nolegend_',这个方法在选择某些图例条目时似乎有效,但如果对所有条目使用,就会出现一个ValueError的错误。

我可以通过清空并重新绘制整个图表来强行隐藏图例,但这样做实在太糟糕了,尤其是在处理大数据集的时候。

非常感谢任何帮助。

1 个回答

10

你可以在命令行上试试这个:

plot([3,1,4,1],label='foo')
lgd=legend()

# when you want it to be invisible:
lgd.set_visible(False)
draw()

# when you want it to be visible:
lgd.set_visible(True)
draw()

在图形界面程序中,最好避免使用pyplot,而是使用面向对象的API,也就是用ax.legendcanvas.draw

撰写回答