Pular para o conteúdo principal

Gráfico de pizza Python: Crie e estilize com Pandas e Matplotlib

Aprenda a criar e aprimorar gráficos de pizza usando as bibliotecas Matplotlib e Pandas do Python. Descubra exemplos práticos de código e dicas essenciais de design para que você crie visuais claros e legíveis.
Actualizado 17 de abr. de 2025  · 7 min de leitura

Os gráficos de pizza são um dos gráficos mais populares para visualizar proporções. Você provavelmente já os conhece, mas se não conhece, imagine uma torta grande ou um queijo suíço redondo, cortado em fatias de tamanhos diferentes. 

O Python oferece várias maneiras de você criar gráficos de pizza. Neste tutorial, vamos nos concentrar em como criar gráficos de pizza em Python usando Matplotlib e Pandas, dois dos pacotes de análise de dados mais populares em Python. Estruturaremos o artigo por método, para que você possa se concentrar na abordagem e na sintaxe mais adequadas ao seu fluxo de trabalho. 

Além desses métodos, forneceremos algumas dicas para aprimorar a solução de problemas, a acessibilidade e a usabilidade dos gráficos de pizza. Por fim, também consideraremos outras alternativas de gráficos que podem ser mais adequadas do que os gráficos de pizza em determinados cenários.

Como você pode criar gráficos de pizza em Python 

Mostrarei duas maneiras diferentes de criar um gráfico de pizza em Python, e você poderá decidir por si mesmo qual método prefere. Ambas são opções populares e boas, portanto você não pode errar. 

Método 1: Gráficos de pizza com Matplotlib

Vamos começar a analisar como criar um gráfico de pizza com o Matplotlib. 

Para esta seção, analisaremos os dados sobre os diferentes cursos disponíveis no catálogo de cursos da DataCamp, que você pode encontrar aqui. (Dei uma olhada no catálogo e contei o número de cursos disponíveis em cada tecnologia e criei uma tabela com essas informações).

Como criar o gráfico

Para criar nosso primeiro gráfico de pizza com o Matplotlib, podemos usar a função plt.pie(). Usaremos uma lista do número de cursos disponíveis para diferentes tecnologias de dados e IA (cada uma representando o tamanho da cunha), bem como uma segunda lista contendo os nomes das tecnologias, que serão incluídas no gráfico usando o parâmetro labels . Como alternativa, podemos usar o site plt.legend() para adicionar uma legenda separada.

Como de costume, não se esqueça de executar o plt.show() no final do seu código para exibir o gráfico do Matplotlib corretamente.

import pandas as pd
import matplotlib.pyplot as plt

courses = [164, 127, 31, 31,12, 11]
labels = ['Python','R','SQL','Power BI','Excel','ChatGPT']
dictionary = {'courses':courses, 'labels':labels}
python_pie_chart_df = pd.DataFrame(dictionary)

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels)
plt.show()

Gráfico de pizza básico em Python com uma legenda

plt.pie(x = python_pie_chart_df.courses)
plt.legend(labels = python_pie_chart_df.labels, loc = [0.95,0.35])
plt.show()

Gráfico de pizza básico em Python

Além disso, também poderíamos incluir a porcentagem de cada cunha usando o parâmetro autopct. No exemplo a seguir, incluímos o tamanho das cunhas usando uma casa decimal.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, autopct='%1.1f%%') 
plt.show()

Gráfico de pizza Python com rótulos

Como personalizar o gráfico

Os gráficos de pizza no Matplotlib, bem como as fatias que os compõem, são altamente personalizáveis. Vamos ver algumas das opções que a função pie.plot() oferece. 

Para alterar a cor das fatias, você pode usar o parâmetro colors. Usaremos esse parâmetro para aplicar a paleta de cores da DataCamp ao nosso gráfico. 

datacamp_palette = ['#03ef62','#06bdfc','#ff6ea9','#ff931e','#ff5400','#7933ff']
plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%')
plt.show()

Gráfico de pizza Python com paleta de cores personalizada

Parece muito melhor, certo? Mas há muito mais que você pode fazer para personalizar o gráfico de pizza. Por exemplo, podemos brincar com a distância dos rótulos e as porcentagens, usando os parâmetros labeldistance e pctdistance, respectivamente, e escolher um ângulo para iniciar o corte com o parâmetro startangle.

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, colors = datacamp_palette, autopct='%1.1f%%', 
pctdistance= 0.8, labeldistance=1.1, startangle=180)

plt.show()

Por fim, imagine que você está fazendo uma apresentação e quer se concentrar nos cursos de R. Uma maneira prática de destacar isso é explodir essa cunha usando o parâmetro explode, da seguinte forma:

explode = (0, 0.1, 0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'R')

plt.pie(x = python_pie_chart_df.courses, labels = python_pie_chart_df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.show()

Como salvar o gráfico

Depois de criar o gráfico de pizza, você está pronto para compartilhá-lo com seus colaboradores. Você pode fazer isso usando a função plt.savefig() , que recebe o nome do arquivo como entrada para a função e permite que você o salve em diferentes formatos, como .png, .jpg, .svg ou .pdf. Além disso, você pode usar o site dpi para alterar a resolução da imagem. 

Aqui está um exemplo de como salvar o gráfico de pizza no formato .jpg com 200 pontos por polegada.

plt.pie(x = df.courses, labels = df.labels, 
        colors = datacamp_palette, autopct='%1.1f%%', 
        pctdistance= 0.8, labeldistance=1.1, 
        startangle=180, explode=explode)

plt.savefig('demo.jpg', dpi =200)

Você pode saber mais sobre como salvar corretamente a visualização em nosso curso Introdução à visualização de dados com Matplotlib.

Método 2: Gráficos de pizza com o Pandas

Agora que você sabe como criar um gráfico de pizza com o Matplotlib, vamos ver como ele funciona no Pandas.

Como criar o gráfico

O Pandas tem um método plot() que pode ser usado para desenhar vários tipos de gráficos. Esse método funciona com os objetos DataFrame e Series no Pandas. O argumento kind no método plot() pode ajudar você a especificar o tipo de gráfico. No nosso caso, você pode criar um gráfico de pizza usando kind ='pie'. Você também pode adicionar oparâmetro labels para incluir um nome em cada cunha e oparâmetro autopct para adicionar as porcentagens de cada fatia.

python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%')
plt.show()

Como personalizar o gráfico

O método plot() do Pandas oferece uma ferramenta para plotagem rápida, mas com opções de personalização limitadas. Felizmente, o método usa o Matplotlib como backend, o que significa que você pode usar a sintaxe do Matplotlib fora do método para personalizar a visualização. Abaixo, você pode encontrar um exemplo de como combinar o Pandas e o Matplotlib.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.show()

Como salvar o gráfico

O salvamento de gráficos de pizza no Pandas é exatamente igual ao do Matplotlib, pois o Pandas se baseia no Matplotlib.

ax= python_pie_chart_df['courses'].plot(kind='pie', labels=python_pie_chart_df['labels'], autopct='%1.1f%%', 
                       colors=datacamp_palette, figsize=(5,5))

ax.set_title('Pie Chart DatataCamp Courses')
ax.set_ylabel(None)

plt.savefig('demo.png')

Solução de problemas com gráficos de pizza

Para garantir que os gráficos de pizza sejam exibidos corretamente, você deve fornecer os dados corretos ao Matplotlib. Isso significa que você deve sempre realizar técnicas de limpeza de dados no seu DataFrame, como excluir valores nulos com pd.dropna() e definir os tipos de dados corretos para as colunas de entrada.

Além disso, a personalização será fundamental para a exibição de um gráfico de pizza atraente e impactante. No entanto, lembre-se de que, se você estiver usando o Pandas, talvez não haja suporte para personalizações avançadas, como a explosão. Como já mencionado, se você precisar de mais controle sobre o gráfico de pizza, talvez seja necessário adicionar código Matplotlib aos seus scripts.

Aprimorando a acessibilidade e a usabilidade

Ao exibir seus gráficos de pizza, você deve seguir as boas práticas.

  • Avalie seu público: Como regra de ouro, você deve sempre ter empatia com o público ao qual sua visualização se dirige. Isso significa ter um bom entendimento da área de especialização, do nível de conhecimento técnico e dos interesses do seu público. 
  • Limpe a bagunça: Para evitar criar visualizações ilegíveis e desordenadas, pergunte a si mesmo se o que você está incluindo é relevante para o público e remova os elementos desnecessários o máximo que puder. No caso de gráficos de pizza, você deve evitar efeitos 3D ou sombras, pois eles podem dificultar a interpretação. 
  • Fique de olho nas fontes: Embora possa ser tentador usar fontes e tamanhos diferentes, como regra geral, você deve se ater a uma fonte com no máximo três tamanhos diferentes. Você deve seguir a hierarquia de fontes e manter os títulos maiores do que o corpo, além de usar uma fonte em negrito para destacar os principais elementos e títulos. 
  • Use as cores de forma criativa: A cor é um dos aspectos mais atraentes de qualquer visualização de dados. Por isso, você deve pensar bastante na escolha do esquema de cores da visualização de dados. Isso significa ter uma paleta de cores consistente em todas as suas visualizações e usar a cor sistematicamente para distinguir grupos, níveis de importância e diferentes tipos de hierarquia de informações.
  • Testes em outros dispositivos: É sempre uma boa recomendação testar seus recursos visuais para ver como eles ficam em vários dispositivos.

A visualização de dados pode ser considerada uma arte. A intuição e o bom gosto podem fazer a diferença, mas você deve sempre considerar a teoria por trás disso. Para saber mais sobre as práticas recomendadas para a visualização eficaz de dados, confira nossa Folha de referência sobre narrativa e comunicação de dados. Além disso, se você estiver trabalhando com painéis, vale a pena ler este artigo sobre Práticas recomendadas para projetar painéis.

Alternativas aos gráficos de pizza

Na verdade, os gráficos de pizza estão entre os gráficos mais criticados. Foi demonstrado que os seres humanos não são muito bons em interpretar ângulos. Podemos ilustrar isso com o gráfico de pizza que usamos anteriormente. Considere as fatias do Excel e do ChatGPT. Você pode dizer à primeira vista qual deles tem o maior ângulo?

É possível que não, e é por isso que muitos especialistas em visualização de dados recomendam o uso de outros gráficos para representar proporções, especialmente ao lidar com muitas categorias, como gráficos de barras e gráficos de barras empilhadas, mapas de árvore ou até mesmo gráficos de rosca. Você pode saber mais sobre essas alternativas em nosso artigo Types of Data Plots and How to Create Them in Python (Tipos de gráficos de dados e como criá-los em Python).

Conclusão

Parabéns por você ter chegado até o final do tutorial. Python é uma linguagem de programação altamente versátil, que oferece várias bibliotecas e abordagens para você criar gráficos de pizza. Neste tutorial, analisaremos como criar gráficos de pizza com o Matplotlib e o Pandas. Ambos são igualmente adequados para o trabalho e têm semelhanças notáveis. A ideia não é escolher um, mas usá-los de forma intercambiável, de acordo com suas necessidades e seu fluxo de trabalho. 

Se você quiser saber mais sobre gráficos de pizza e, de forma mais ampla, sobre visualização de dados em Python, o DataCamp está aqui para ajudá-lo. Confira nossos materiais dedicados para que você se torne um assistente de visualização e se prepare para isso!


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Sou analista de dados freelancer, colaborando com empresas e organizações em todo o mundo em projetos de ciência de dados. Também sou instrutor de ciência de dados com mais de 2 anos de experiência. Escrevo regularmente artigos relacionados à ciência de dados em inglês e espanhol, alguns dos quais foram publicados em sites consagrados, como DataCamp, Towards Data Science e Analytics Vidhya Como cientista de dados com formação em ciência política e direito, meu objetivo é trabalhar na interação de políticas públicas, direito e tecnologia, aproveitando o poder das ideias para promover soluções e narrativas inovadoras que possam nos ajudar a enfrentar desafios urgentes, como a crise climática. Eu me considero uma pessoa autodidata, um aprendiz constante e um firme defensor da multidisciplinaridade. Nunca é tarde demais para aprender coisas novas.

Perguntas frequentes

O que é um gráfico de pizza e quando devo usá-lo?

Um gráfico de pizza é um tipo de gráfico no qual um círculo é dividido em setores, cada um representando uma proporção do todo. Assim, você poderá representar as proporções.

Como posso criar um gráfico de pizza no Matplotlib?

A maneira mais fácil de criar um gráfico de pizza com o Matplotlib é com a função plt.pie(), que vem com vários parâmetros de personalização.

Como posso criar um gráfico de pizza no Pandas?

A maneira mais fácil de criar um gráfico de pizza com o Matplotlib é com o método Series.plot.(kind=’pie’). Ele permite que você visualize rapidamente os DataFrames do Pandas, mas tem opções de personalização limitadas em comparação com o Matplotlib.

Quais são as práticas recomendadas para a criação de gráficos de pizza?

Você deve sempre seguir as práticas recomendadas para criar suas visualizações. Isso inclui manter os gráficos de pizza o mais simples possível, evitar elementos desnecessários, escolher paletas de cores intuitivas e adaptar o gráfico de acordo com o seu público.

Quais são as principais limitações dos gráficos de pizza?

Os seres humanos não são muito bons em interpretar ângulos, por isso muitos especialistas em visualização recomendam o uso de outros gráficos para visualizar proporções, como os gráficos de barras.

Temas

Aprenda com a DataCamp

Curso

Understanding Data Science

2 hr
750.4K
An introduction to data science with no coding involved.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Introdução à plotagem com Matplotlib em Python

Este tutorial demonstra como usar o Matplotlib, uma poderosa biblioteca de visualização de dados em Python, para criar gráficos de linha, barra e dispersão com dados do mercado de ações.

Kevin Babitz

25 min

line plot python

Tutorial

Gráficos de linhas no MatplotLib com Python

Este tutorial prático se aprofunda na criação e na personalização de gráficos de linhas com o Matplotlib, uma biblioteca avançada de visualização de dados em Python.
Arunn Thevapalan's photo

Arunn Thevapalan

11 min

Tutorial

Tipos de gráficos de dados e como criá-los em Python

Explore vários tipos de gráficos de dados, desde os mais comuns até os avançados e não convencionais, o que eles mostram, quando usá-los, quando evitá-los e como criá-los e personalizá-los em Python.
Elena Kosourova's photo

Elena Kosourova

15 min

Tutorial

Gráfico de linha de série temporal do Matplotlib

Este tutorial explora como criar e personalizar gráficos de linha de séries temporais no matplotlib.
Elena Kosourova's photo

Elena Kosourova

8 min

Tutorial

Tutorial do Python Seaborn Line Plot: Criar visualizações de dados

Descubra como usar o Seaborn, uma biblioteca popular de visualização de dados em Python, para criar e personalizar gráficos de linha em Python.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

Histogramas no Matplotlib

Aprenda sobre histogramas e como você pode usá-los para obter insights dos dados com a ajuda do matplotlib.
Aditya Sharma's photo

Aditya Sharma

8 min

Ver maisVer mais