gpt4 book ai didi

python - 如何强制 matplotlib 在函数结束之前绘图

转载 作者:行者123 更新时间:2023-12-01 03:52:38 24 4
gpt4 key购买 nike

我有一个函数,可以绘制一组数据,其中突出显示一些点(计算机测量值),并要求用户输入有关这些点的信息(这些点的理论值),以便校准设备。

这曾经工作得很好。然而,现在,在不进行任何更改的情况下,直到函数结束时绘图才会显示。这是我的代码示例(我在 jupyter 笔记本中运行):

plot_peaks 获取数据并返回峰值的 x 坐标,以及突出显示峰值的数据图。

%matplotlib qt
def func(data):
plot_points = plot_peaks(data) # plot_peaks returns a list of points that gets saved as plot_points AND plots peaks in a window
for number, point in enumerate(plot_points):
print("What is the coordinate of point %f?" %(number)) # ask user for the theoretical coordinate of the recorded peak
answer = input("> ")
function_that_saves_user_inputs # placeholder function to save lines
return user_inputs_vs_plot_points # dictionary

用户需要绘图才能看到峰值是什么,以便他们可以输入理论值。但是,直到用户输入所有数据点后,该图才会显示。

如果我使用:

%matplotlib inline

然后在用户输入任何内容之前绘图就会显示出来。但我无法内联绘制。

我尝试过的事情:

  • 在plot_peaks内使用ion()(不改变任何内容)
  • plt.show(block=False) 在plot_peaks 内部(不改变任何内容)
  • func()内添加另一个plt.show()(弹出一个空白窗口,当函数终止时,所需的绘图将显示在新窗口中)
  • 更改后端

最佳答案

无论如何,我找到了我的具体问题的答案(经过大量的试验和错误)。

我需要的是绘制绘图的函数在继续之前暂停很长时间。我不知道为什么,也许这与 python 开始执行以下命令之前情节尚未完成有关。如果有人知道为什么会很高兴知道。

我所做的就是在 plot_peaks() 方法的末尾添加一个 plt.pause(1) 。这意味着在调用函数的下一部分之前,图形有时间完全显示。

关于python - 如何强制 matplotlib 在函数结束之前绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com