我在python中有一个列表,列表具有以下简单结构
Data=[
[2,4,3,7,8],
[4,5,7,8,3],
......and so on
]
现在我想在Data[0]
和Data[i] for 1<=i<len(Data)
之间绘制一个图形,其中每个图形在2秒的间隙后出现。我为上面的任务编写了以下代码
import time
import matplotlib.pyplot as plt
for i in range(1,len(Data)):
plt.plot(Y[0],Y[i],'ro')
plt.show()
time.sleep(2)
plt.close()
但是,代码似乎不起作用,并且必须手动关闭每个数字以显示下一个数字。我哪里错了。请帮助。
答案 0 :(得分:0)
plt.show()
可以使用一个参数block
,允许您将调用设置为非阻塞。
如果添加此参数,您的代码将起作用。
替换
plt.show()
与plt.show(block=False)
你应该得到你想要的东西。
答案 1 :(得分:0)
如果您只想在x
秒内循环浏览图表,则可以通过ion()
import time
import matplotlib.pyplot as plt
plt.ion()
Data=[
[2,4,3,7,8],
[4,5,7,8,3],
... and so on
]
for i in range(1,len(Data)):
plt.plot(Data[0],Data[i],'ro')
plt.draw()
time.sleep(2)
plt.close()