在循环中暂停 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.")
我正在尝试在 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.")