将数字保存在循环中

时间:2014-06-06 19:26:10

标签: python loops matplotlib ipython

我不知道这是否有可能,我希望能够真实地描绘我想要完成的事情。

说我们有:

from pylab import *
import matplotlib.pyplot as plt
%matplotlib inline

fig = plt.figure(figsize=(10,10))

y = 2

for x in xrange(0,5):
    value = [1,int(y)]
    plt.plot(value)
    plt.savefig("value" + y + ".png")
    y+=1

所以我的目标是获得5个图(或者我认为这会给我6个图),但我希望它们每个用不同的名称保存,这样它们就不会在每次循环时覆盖。这可能吗?

注意:此示例中的数字和值是任意的。我希望只是在这样的循环中绘图,并有一个动态方法来保存图形的名称。

2 个答案:

答案 0 :(得分:3)

您不需要y,只需在循环中使用x即可。

for x in xrange(1,6): # starts at 1 and goes to 5
    print ("value" + str(x) + ".png")
value1.png
value2.png
value3.png
value4.png
value5.png

答案 1 :(得分:0)

您无法添加字符串(例如"value")和int(例如y)。尝试这样做会引发TypeError。改为使用字符串格式:

plt.savefig("value{y}.png".format(y=y))