显示/隐藏情节的图例

发布于 2024-08-03 20:09:17 字数 243 浏览 0 评论 0原文

我对 python 比较陌生,正在开发 pyqt GUI。我想提供一个复选框选项来显示/隐藏绘图的图例。有没有办法隐藏传说?

我尝试使用 pyplot 的 '_nolegend_' ,它似乎适用于选择图例条目,但如果应用于所有条目,它会创建一个 ValueError 。

我可以通过清除和重新绘制整个图来强制图例隐藏,但是......这是一件可怕的事情,尤其是对于大型数据集。

感谢对此的任何帮助。

I'm relatively new to python and am developing a pyqt GUI. I want to provide a checkbox option to show/hide a plot's legend. Is there a way to hide a legend?

I've tried using pyplot's '_nolegend_' and it appears to work on select legend entries but it creates a ValueError if applied to all entries.

I can brute force the legend to hide by clearing and redrawing the whole plot but... it's a terrible thing to do, especially with large data sets.

Appreciate any help with this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倚栏听风 2024-08-10 20:09:17

您可以在命令行上尝试以下操作:

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()

在 GUI 程序中,最好避免使用 pyplot 并使用面向对象的 API,即 ax.legendcanvas.draw

Here's something you can try on the command line:

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()

In a GUI program it's best to avoid pyplot and use the object-oriented API, i.e., ax.legend and canvas.draw.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文