Curso
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()

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

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()

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()

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!
- Curso de introdução ao Python
- Carreira de desenvolvedor Python
- Programa Python
- Curso Pensamento estatístico em Python (Parte 1)

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.


