在循环中保存数字

Pla*_*ent 2 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
Run Code Online (Sandbox Code Playgroud)

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

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

Pad*_*ham 6

您不需要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
Run Code Online (Sandbox Code Playgroud)


unu*_*tbu 5

您不能添加字符串(例如"value")和整数(例如y)。尝试这样做会引发TypeError. 改用字符串格式:

plt.savefig("value{y}.png".format(y=y))
Run Code Online (Sandbox Code Playgroud)