O Matplotlib é uma ferramenta que já conhecemos. Já fizemos gráficos em outros posts. Nesse artigo, vamos falar de um outro tipo de gráfico com o matplotlib, o gráfico de pizza.

Para ser sincero, o gráfico de pizza é um pouco polêmico. Quando comecei a trabalhar no ramo da ciência de dados, me falaram para não usar esse tipo de gráfico. De acordo com "especialistas", o gráfico de pizza é mais difícil para representar os dados visualmente. Contudo é muito comum.

De qualquer forma, você vai ver como é fácil transformar dados simples em uma visualização clara e profissional. Essa ferramenta é ideal para projetos, trabalhos acadêmicos ou até dashboards corporativos.

O que é um Gráfico de Pizza?

O gráfico de pizza é uma visualização circular que usa fatias para mostrar a proporção de cada categoria em relação ao total. Ele é perfeito para mostrar:

  • Distribuição de vendas por produtos
  • Como você gasta seu tempo durante o dia
  • Participação de mercado por empresa
  • Gastos por categoria no orçamento

Ferramenta Necessária

Todas as vezes que vamos fazer algum projeto que requer visualização, a minha recomendação é sempre Jupyter Notebook. O Spyder também é legal para isso. Contudo, o Jupyter é amplamente utilizado, e muitas empresas o usam.

Se você não tem ainda, ou precisa de uma refrescada na memória, você pode instalar diretamente, ou usar o Google Colab que já vem com tudo configurado.

Instalando o Matplotlib

Antes de começar, você vai precisar instalar esse pacote, caso não tenha. Você pode instalar diretamente do Jupyter. Basta abrir uma célula e correr o seguinte comando:

%pip install matplotlib

Corre a célula usando o Ctrl + Enter, ou simplesmente aperte o ⏵. Você vai ver um resultado tipo "Requirement already satisfied", que significa que tudo já foi instalado.

Quando tudo estiver instalado, você vai importar o pacote desta forma:

import matplotlib.pyplot as plt

Essa última parte, o plt, não é necessária. Mas, fica muito mais fácil escrever o código assim:

plt.show()

Do que assim:

matplotlib.pyplot.show()

Apelidando os pacotes é um método muito comum em Python. Mas, tome cuidado quando estiver apelidando as coisas, pode causar confusão. Mantenha os padrões de indústria.

Criando os Dados

Como estamos aprendendo, vamos começar com uma coisa mais simples, antes de partir para algo mais complexo. Eu vou criar um grupo de dados bem simples para você ver como é fácil fazer um gráfico.

Nos meus dados fictícios, vou criar duas listas:

atividades = ['Dormir', 'Trabalhar', 'Estudar', 'Lazer']
horas = [8, 8, 4, 4]

Então, criei duas listas simples. Uma contém strings com informações de atividades. E a segunda lista contém as horas. Agora vamos criar um gráfico para mostrar isso.

Código para Criar um Gráfico de Pizza Simples

Agora que importamos o nosso pacote e criamos dados fictícios, vamos criar o gráfico de pizza.

# Criando o gráfico
plt.pie(horas, labels=atividades)

# Adicionando título
plt.title('Como eu gasto meu tempo por dia')

# Mostrando o gráfico
plt.show()

Deixa eu explicar o código com detalhes:

  • plt.pie(): Esse comando cria o gráfico de pizza. A informação entre parênteses está passando os dados.
  • plt.title(): Esse comando adiciona um título ao gráfico.
  • plt.show(): Finalmente, esse comando mostra o gráfico.

Vamos ver como ficou? Não ficou feio, não.

Adicionando Cores

Mas, como havia falado antes, esse pacote deixa você personalizar bastante. Caso queira trocar a cor das fatias, é simples. Tudo que precisa fazer é adicionar cor no comando onde está criando o gráfico.

# Criando o gráfico com cores
plt.pie(horas, labels=atividades, colors=['lightblue', 'lightgreen', 'salmon', 'gold'])

# Adicionando título
plt.title('Meu dia com cores!')

# Mostrando o gráfico
plt.show()

Dica importante: As cores são todas em inglês. O Python não irá entender um "azul claro".

Adicionando Porcentagens

Você pode também fazer o gráfico mostrar as porcentagens automaticamente. Isso é muito útil para apresentações.

# Criando o gráfico com porcentagens
plt.pie(horas, labels=atividades, autopct='%1.1f%%', 
        colors=['lightblue', 'lightgreen', 'salmon', 'gold'])

# Adicionando título
plt.title('Meu Tempo Diário com Porcentagens')

# Mostrando o gráfico
plt.show()

O autopct='%1.1f%%' é o que faz a mágica acontecer. Ele mostra o número com uma casa decimal e adiciona o símbolo de porcentagem.

Destacando uma Fatia

Às vezes você quer chamar atenção para uma parte específica do gráfico. Para isso, você pode "explodir" uma fatia, fazendo ela se destacar das outras.

Vamos criar outros dados de informação para esse exemplo.

# Dados de linguagens de programação
linguagens = ['Python', 'JavaScript', 'Java', 'C++']
popularidade = [30, 25, 20, 25]

# Destacar Python (primeira fatia)
explode = [0.1, 0, 0, 0]  # apenas a primeira fatia será destacada

plt.pie(popularidade, labels=linguagens, explode=explode, autopct='%1.1f%%',
        colors=['#ff9999', '#66b3ff', '#99ff99', '#ffcc99'])

plt.title('Linguagens de Programação Mais Populares')
plt.show()

Exemplo Completo e Profissional

Aqui está um exemplo que junta tudo que aprendemos para criar um gráfico mais profissional. Aqui, vamos criar dados mensais e fazer um negócio mais bacana.

import matplotlib.pyplot as plt

# Dados de gastos mensais
categorias = ['Alimentação', 'Transporte', 'Moradia', 'Lazer', 'Outros']
valores = [800, 400, 1200, 300, 300]

# Configurações de estilo
cores = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7']
explode = [0, 0, 0.1, 0, 0]  # destaca "Moradia"

# Criando o gráfico
plt.figure(figsize=(8, 8))  # define o tamanho
plt.pie(valores, labels=categorias, autopct='%1.1f%%', 
        colors=cores, explode=explode, shadow=True, startangle=90)

plt.title('Meus Gastos Mensais', fontsize=16, fontweight='bold')
plt.axis('equal')  # garante que o gráfico seja um círculo perfeito
plt.show()

Vejo só como ficou legal.

Esse código adiciona algumas personalizações extras:

  • shadow=True: adiciona uma sombra para dar profundidade
  • startangle=90: rotaciona o gráfico para começar no topo
  • figsize=(8, 8): define o tamanho da figura
  • axis('equal'): mantém o gráfico circular

Salvando seu Gráfico

Para salvar o gráfico como imagem, você pode usar:

# Depois de criar seu gráfico, antes do plt.show()
plt.savefig('meu_grafico.png', dpi=300, bbox_inches='tight')
plt.show()

Dicas Importantes

  1. Sempre importe a biblioteca: Não esqueça de import matplotlib.pyplot as plt
  2. Listas devem ter o mesmo tamanho: O número de rótulos deve ser igual ao número de valores
  3. Use plt.show(): Sem isso, o gráfico não aparecerá
  4. Teste com dados simples primeiro: Comece com poucos dados e vá aumentando a complexidade

Conclusão

Criar gráficos de pizza em Python com Matplotlib é mais simples do que parece. Com poucas linhas de código, você já consegue gerar visualizações poderosas e profissionais para seus dados.

Em apenas 5 minutos você aprendeu desde o básico, até técnicas de personalização avançadas. Agora, é só praticar com seus próprios dados!

Se você curtiu esse conteúdo, compartilhe com alguém que também está aprendendo Python!