我是Matplotlib和Python的新手。我主要使用Matlab。目前,我正在使用Python代码工作,我想运行一个循环。在每个循环中,我将进行一些数据处理,然后根据处理后的数据显示图像。当我进入下一个循环时,我希望之前存储的图像被关闭,并基于最新数据生成新的图像。
换句话说,我想要一个Python代码等价于以下Matlab代码:
x = [1 2 3];
for loop = 1:3
close all;
y = loop * x;
figure(1);
plot(x,y)
pause(2)
end
我尝试了以下Python代码来实现我的目标:
import numpy as np
import matplotlib
import matplotlib.lib as plt
from array import array
from time import sleep
if __name__ == '__main__':
x = [1, 2, 3]
for loop in range(0,3):
y = numpy.dot(x,loop)
plt.plot(x,y)
plt.waitforbuttonpress
plt.show()
这段代码将所有的图形叠加在同一张图中。如果我把plt.show()
命令放在for循环内部,只会显示第一张图片。因此,我无法在Python中复制我的Matlab代码。
raw_input
的返回值分配给名为_
的变量。如果您不打算使用该值,可以在一行上只使用raw_input(“blah”)
。 - BrenBarn