在 matplotlib 中使用 GUI 按钮取消暂停 (Python)
Unpause using GUI button in matplotlib (Python)
我正在使用 matplotlib 创建一个交互式图形。
作为输入给出的数据是实时计算的,当数据准备好绘制时调用用于创建图形的函数,所以我不能使用动画模块。除此之外,新数据没有显示在与前一个相同的轴上,输出图形包括 3d 绘图和 gui 小部件。
每次绘制数据时,如果用户想要与输出交互,我会调用 plt.pause(30)。 30 秒后,数字更新。
我想做的是创建一个 gui 按钮,按下时将取消 plt.pause 并取消阻止程序执行。直到现在我还没有找到这个简单(?)查询的答案。有谁知道是否有办法通过以某种方式将 plt.pause() 绑定到 gui 小部件来从 GUI 停止?如果没有,有没有办法绕过这种情况?
好吧,我不得不去 matplotlib 的 github 了解主要思想是什么。类似于以下的函数:
def button_function(val):
plt.gcf().canvas.stop_event_loop()
在使用 on_clicked
连接按钮时完全符合我的要求。 这个问题让我困惑了一天,当我发布这个问题时,我在 10 分钟内找到了答案。谢谢 Whosebug 给了我写下来的方法....
我正在使用 matplotlib 创建一个交互式图形。
作为输入给出的数据是实时计算的,当数据准备好绘制时调用用于创建图形的函数,所以我不能使用动画模块。除此之外,新数据没有显示在与前一个相同的轴上,输出图形包括 3d 绘图和 gui 小部件。
每次绘制数据时,如果用户想要与输出交互,我会调用 plt.pause(30)。 30 秒后,数字更新。
我想做的是创建一个 gui 按钮,按下时将取消 plt.pause 并取消阻止程序执行。直到现在我还没有找到这个简单(?)查询的答案。有谁知道是否有办法通过以某种方式将 plt.pause() 绑定到 gui 小部件来从 GUI 停止?如果没有,有没有办法绕过这种情况?
好吧,我不得不去 matplotlib 的 github 了解主要思想是什么。类似于以下的函数:
def button_function(val):
plt.gcf().canvas.stop_event_loop()
在使用 on_clicked
连接按钮时完全符合我的要求。 这个问题让我困惑了一天,当我发布这个问题时,我在 10 分钟内找到了答案。谢谢 Whosebug 给了我写下来的方法....