在循环中绘图,只获得最后一个情节

时间:2014-01-10 16:41:26

标签: python matplotlib plot

我正在使用matplotlib。代码:

for new_counter in range(counter+1):
    print new_counter
    Qbers = final_data[(final_data["Dataset"]==counter) & (final_data["Qber"] > 0) ]
    x1 = Qbers.index.tolist()
    y1 = Qbers["Qber"].tolist()
    Raws = final_data[(final_data["Dataset"]==counter) & (final_data["Raw key"] > 0) ]
    x2 = Raws.index.tolist()
    y2 = Raws["Raw key"].tolist()
    # Two subplots, the axes array is 1-d http://matplotlib.org/examples/pylab_examples/subplots_demo.html
    f, axarr = plt.subplots(2, sharex=True)
    axarr[0].grid()
    axarr[0].plot(x1, y1)
    axarr[0].set_title('Sharing X axis')
    axarr[1].grid()
    axarr[1].plot(x2, y2)
    plt.savefig(str(counter)+'foo.eps')
    plt.clf()

我只接收带有最后一个情节的文件,而我的数据应该会收到其中的6个。如何解决?附加问题:如何防止用情节创建交互式窗口?

1 个答案:

答案 0 :(得分:1)

看起来您没有生成唯一的文件名。你可能想要:

plt.savefig(str(new_counter)+'foo.eps')