在Matplotlib中将多个.png图形输出到Python 3.4中的一个zip文件

Gar*_*son 3 python matplotlib

我编写了一个程序,使用Python中的MatPlotLib从CSV文件中输出多个不同的饼图(超过60个).我不认为我需要共享所有代码,但我有一个draw()创建图形的函数,以下结尾:

def draw(data):
    [make the graph]
    plt.savefig(filename)
Run Code Online (Sandbox Code Playgroud)

此函数成功将我的一个图形作为cwd中的.png文件.然后我运行一个循环,为我的数据的每个部分创建一个饼图.代码如下:

if __name__ == '__main__':
    data = sys.argv[1]
    things = process(data) 
    for thing in things.values():
        draw(thing)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何Python软件包可以帮助我自动将所有60多个图形输出到一个zip文件.

PM *_*ing 5

当然,有标准的zipfile模块,可以压缩现有文件,也可以压缩一串字节.因此,如果您不想单独创建文件然后压缩它们,您可以将它们保存到BytesIO对象,然后压缩这些字节缓冲区.我已将您链接到Python 3文档,但这些功能也可在Python 2中使用.