Matplotlib library problem (Python)

Asked

Viewed 44 times

0

I am learning python and am making a program that generates graphics from a CSV file, but every time I try to use the function savefig(), it saves the data with the Labels of the previous ones, however if before I use this function, use the function show(), this mistake does not happen, what I must do to fix it?

    def  SalvaGraficos(self,lista,name):
         import matplotlib.pyplot as pl
         from collections import Counter
         import os
         import shutil
         contador = Counter(lista)

         dadosnome = []
         dadosvalor = []

         for chave, valor in contador.items():
              dadosnome.append(chave)
              dadosvalor.append(valor)
         print(dadosnome)
         self.nomeGrafico = str(self.valorImagem)+".png"
         dirImagem = str(self.caminho) + "/" + self.nomeGrafico
         try:
              pl.pie(dadosvalor, labels=dadosnome, autopct='%1.1f%%')
              pl.title(name)
              pl.savefig(dirImagem) 

              self.valorImagem = self.valorImagem + 1
              print('Imagem Salva! Nome: '+self.nomeGrafico)
         except:
              print('erro ao salvar!')

inserir a descrição da imagem aqui

1 answer

0

I believe that if you use the function plt.close('all'), will work. I do it this way. Link to the documentation: matplotlib.pyplot.close

  • It worked! Thank you very much!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.