我不知道这是否有可能,我希望能够真实地描绘我想要完成的事情。
说我们有:
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个图),但我希望它们每个用不同的名称保存,这样它们就不会在每次循环时覆盖。这可能吗?
注意:此示例中的数字和值是任意的。我希望只是在这样的循环中绘图,并有一个动态方法来保存图形的名称。
答案 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))