如何一次生成多个matplotlib图表?

发布于 2024-10-03 03:42:16 字数 700 浏览 3 评论 0原文

我想生成几个图表并将它们保存为 .png 文件。 但似乎 matplotlib 与上一个图表重叠:

def do_pie(fic,data):
    import pylab    

    # make a square figure and axes
    pylab.figure(1, figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])

    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})
    pylab.savefig('%s.png' % fic,dpi=100)

do_pie('tarte',[10,20,30])
do_pie('gateau',[33,44])

此脚本生成 2 个 PNG 文件。 tarte.png 是正确的,但 gateau.png 正在获取有关 tarte.png 的一些信息,例如 10、< code>20 和 30 不应显示。

那么如何从头开始一个新的图表呢?

I would like to generate several charts and save them as .png files.
But it seems matplotlib is overlapping the next chart on the previous one :

def do_pie(fic,data):
    import pylab    

    # make a square figure and axes
    pylab.figure(1, figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])

    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})
    pylab.savefig('%s.png' % fic,dpi=100)

do_pie('tarte',[10,20,30])
do_pie('gateau',[33,44])

This script generate 2 PNG files.
tarte.png is correct, but gateau.png is getting some informations about tarte.png like 10, 20 and 30 that should not be displayed.

So how to start a new chart from scratch ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清醇 2024-10-10 03:42:17

保存后只需关闭图形对象即可。

def do_pie(fic,data):
    import pylab    
    # make a square figure and axes
    pylab.figure(1, figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])
    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})
    pylab.savefig('%s.png' % fic,dpi=100)
    pylab.close()

Just close the figure object after you save it.

def do_pie(fic,data):
    import pylab    
    # make a square figure and axes
    pylab.figure(1, figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])
    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})
    pylab.savefig('%s.png' % fic,dpi=100)
    pylab.close()
违心° 2024-10-10 03:42:17

例如,您可以将图形实例存储在字典中,并在程序末尾输出所有图形:

figures = dict()

def do_pie(fic,data):
    import pylab    

    # make a square figure and axes
    figures[fic] = pylab.figure(figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])

    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})

do_pie('tarte',[10,20,30])
do_pie('gateau',[33,44])

for fig in figures:
    figures[fig].savefig('%s.png' % fic, dpi=100)

For example, you can store figure instance in a dict and at the end of your program, output all figures:

figures = dict()

def do_pie(fic,data):
    import pylab    

    # make a square figure and axes
    figures[fic] = pylab.figure(figsize=(6,6))
    ax = pylab.axes([0.1, 0.1, 0.8, 0.8])

    pylab.pie(data,labels=data)
    pylab.title(fic, bbox={'facecolor':'0.8', 'pad':5})

do_pie('tarte',[10,20,30])
do_pie('gateau',[33,44])

for fig in figures:
    figures[fig].savefig('%s.png' % fic, dpi=100)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文