matplotlib:创建新图并保存到文件

时间:2014-08-13 20:49:58

标签: python matplotlib

我正在尝试使用matplotlib生成不同的数字:

import matplotlib.pyplot as plt

for item in item_list:
    plt.imshow(item)
    plt.grid(True)
    # generate id
    plt.savefig(filename + id)
    plt.close()

循环确实生成了许多文件,但它们似乎显示了不同图形的叠加,而如果我逐个绘制项目,它们看起来非常不同。

如何确保每个项目都是独立绘制并保存到文件中?

1 个答案:

答案 0 :(得分:3)

您需要创建一个新的图形对象,或清除轴。

清除轴的示例代码:

import matplotlib.pyplot as plt
y_data = [[1,1],[2,2],[3,3]]  #just some dummy data
x = [0,1]  
fig,ax = plt.subplots()
for y in y_data:   
    #generate id   
    ax.cla()  #clear the axis
    ax.plot([0,1],y)
    fig.savefig(filename + id)

新图形对象的示例:

import matplotlib.pyplot as plt
y_data = [[1,1],[2,2],[3,3]]  #just some dummy data
x = [0,1]
for y in y_data:  
    #generate id  
    fig,ax = plt.subplots()  #create a new figure
    ax.plot(x,y)
    fig.savefig(filename + id)

希望这有助于您入门。