在循环中暂停 python 代码并检查图 window

Pause python code in a loop and inspect figure window

我正在尝试在 for 循环中绘制一些图形 (matplotlib) 并将结果绘制在图形中 window。数字 window 在每次循环后更新。但是,图形 window 没有响应或空白,并且在循环终止之前不显示任何图。我正在使用 Spyder 和 Python 3.7.

有什么建议吗?

编辑:下面是一些示例代码

import numpy as np
import matplotlib.pyplot as plt
import time

x = np.linspace(0,2*np.pi,100)
for amp in range(10):
    print(amp)
    y = amp*np.cos(x)
    plt.figure(1)    
    plt.plot(x,y)
    time.sleep(1)

这个问题的第二个答案可能对你有帮助:

Update Figure

import matplotlib.pyplot as plt
import numpy as np

plt.ion()
for i in range(50):
    y = np.random.random([10,1])
    plt.plot(y)
    plt.draw()
    plt.pause(0.0001)
    plt.clf()

使用 plt.draw() 应该可以。尝试这样的事情

import numpy as np
import matplotlib.pyplot as plt
import time

plt.show()

x = np.linspace(0,2*np.pi,100)
for amp in range(10):
    print(amp)
    y = amp*np.cos(x)
    plt.plot(x,y)
    plt.draw()
    plt.pause(0.001)
    input("Press [enter] to continue.")