Python 2.7 Matplotlib:使用循环显示和关闭绘图

Python 2.7 Matplotlib:使用循环显示和关闭绘图,python-2.7,matplotlib,psychopy,Python 2.7,Matplotlib,Psychopy,使用Matplotlib和for循环,是否可以在给定的时间段内显示绘图,然后在for循环完成后将其关闭 我尝试了以下方法,但绘图仍然是开放的,循环没有结束: import matplotlib.pyplot as plt import psychopy x = [34.00,108.00,64.00,99.00,99.00,51.00] y = [5.00,17.00,11.00,8.00,14.00,5.00] scatter(x, y, color = "black") clock =

使用Matplotlib和for循环,是否可以在给定的时间段内显示绘图,然后在for循环完成后将其关闭

我尝试了以下方法,但绘图仍然是开放的,循环没有结束:

import matplotlib.pyplot as plt
import psychopy

x = [34.00,108.00,64.00,99.00,99.00,51.00]
y = [5.00,17.00,11.00,8.00,14.00,5.00]

scatter(x, y, color = "black")

clock = core.Clock()

while clock.getTime() < 10.0:
    plt.show()

plt.close()
导入matplotlib.pyplot作为plt
进口精神病
x=[34.00108.00,64.00,99.00,99.00,51.00]
y=[5.00,17.00,11.00,8.00,14.00,5.00]
散射(x,y,color=“黑色”)
clock=core.clock()
当clock.getTime()小于10.0时:
plt.show()
plt.close()

谢谢

您可以将交互式模式
plt.ion()
plt.pause()
结合使用

例如,要显示窗口5秒钟:

import matplotlib.pyplot as plt

x = [34.00,108.00,64.00,99.00,99.00,51.00]
y = [5.00,17.00,11.00,8.00,14.00,5.00]

plt.scatter(x, y, color = "black")
plt.ion()
plt.draw()
plt.pause(5)

你只需要调用
show
一次,使用
time.sleep
然后
close
我试过了(plt.show()…time.sleep(3)…plt.close()),但绘图只是挂起,代码没有移动。在这两种情况下,你只需要
show
一次,所以把它从循环中去掉,虽然我知道,但这并不能解决问题,但这是第一步