解决python的matplotlib库,将多个图保存为多个文件造成重叠的问题

 未修改前的代码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style

plt.style.use('dark_background')
for i in range(2):
    if i ==0:
        labels = 'A', 'B', 'C'
        fracs = [20, 30, 50]
        plt.pie(x=fracs, labels=labels,  autopct='%3.1f %%',
                shadow=True, labeldistance=1.1, startangle=90, pctdistance=0.6 )

        plt.savefig("temp1.png")
        
        

    if i ==1:
        labels = 'Q', 'W', 'E'
        fracs = [30, 30, 40]
        plt.pie(x=fracs, labels=labels,  autopct='%3.1f %%',
                shadow=True, labeldistance=1.1, startangle=90, pctdistance=0.6 )
        plt.savefig("temp2.png")
        

 

然后打开两个文件查看结果 :

第一个图正常,接下来查看第二个图:

很明显,在画新一个图的时候,和上一个图混在一起了,所以代码作了以下修改:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style

plt.style.use('dark_background')
for i in range(2):
    if i ==0:
        labels = 'A', 'B', 'C'
        fracs = [20, 30, 50]
        plt.pie(x=fracs, labels=labels,  autopct='%3.1f %%',
                shadow=True, labeldistance=1.1, startangle=90, pctdistance=0.6 )

        plt.savefig("temp1.png")
        plt.clf()#添加上这一行,画完第一个图后,重置一下
        

    if i ==1:
        labels = 'Q', 'W', 'E'
        fracs = [30, 30, 40]
        plt.pie(x=fracs, labels=labels,  autopct='%3.1f %%',
                shadow=True, labeldistance=1.1, startangle=90, pctdistance=0.6 )
        plt.savefig("temp2.png")
        

查看结果:

搞定。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值