循环保存图形

2024-05-20 05:46:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道这是否可能,我希望能准确地描绘出我希望实现的目标。

假设我们有:

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个图),但是我希望它们每个都用不同的名称保存,这样它们就不会在循环中每次都被覆盖。这可能吗?

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


Tags: fromimport名称目标formatplotlibvalueas
2条回答

您不需要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

不能添加字符串(例如"value")和int(例如y)。尝试这样做会引发一个TypeError。请改用字符串格式:

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

相关问题 更多 >