Gráficos de pizza Matplotlib
Criando gráficos de pizza
Com o Pyplot, você pode usar a pie()
função para desenhar gráficos de pizza:
Exemplo
Um gráfico de pizza simples:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
plt.pie(y)
plt.show()
Resultado:
Como você pode ver, o gráfico de pizza desenha uma peça (chamada de cunha) para cada valor na matriz (neste caso [35, 25, 25, 15]).
Por padrão, a plotagem da primeira fatia começa no eixo x e se move no sentido anti- horário :
Nota: O tamanho de cada cunha é determinado comparando o valor com todos os outros valores, usando esta fórmula:
O valor dividido pela soma de todos os valores:x/sum(x)
Rótulos
Adicione rótulos ao gráfico de pizza com o label
parâmetro.
O label
parâmetro deve ser uma matriz com um rótulo para cada fatia:
Exemplo
Um gráfico de pizza simples:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels)
plt.show()
Resultado:
Ângulo inicial
Como mencionado, o ângulo inicial padrão está no eixo x, mas você pode alterar o ângulo inicial especificando um
startangle
parâmetro.
O startangle
parâmetro é definido com um ângulo em graus, o ângulo padrão é 0:
Exemplo
Comece a primeira cunha a 90 graus:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels, startangle = 90)
plt.show()
Resultado:
Explodir
Talvez você queira que uma das cunhas se destaque? O
explode
parâmetro permite que você faça isso.
O explode
parâmetro, se especificado, e não None
, deve ser uma matriz com um valor para cada fatia.
Cada valor representa a que distância do centro cada cunha é exibida:
Exemplo
Puxe a cunha "Maçãs" 0,2 do centro da torta:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode)
plt.show()
Resultado:
Sombra
Adicione uma sombra ao gráfico de pizza definindo o
shadows
parâmetro como True
:
Exemplo
Adicione uma sombra:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode, shadow = True)
plt.show()
Resultado:
Cores
Você pode definir a cor de cada cunha com o colors
parâmetro.
O colors
parâmetro, se especificado, deve ser uma matriz com um valor para cada fatia:
Exemplo
Especifique uma nova cor para cada cunha:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels =
mylabels, colors = mycolors)
plt.show()
Resultado:
Você pode usar valores de cores hexadecimais , qualquer um dos 140 nomes de cores suportados ou um destes atalhos:
'r'
- Vermelho
'g'
- Verde
'b'
- Azul
'c'
- Ciano
'm'
- Magenta
'y'
- Amarelo
'k'
- Preto
'w'
- Branco
Lenda
Para adicionar uma lista de explicação para cada cunha, use a legend()
função:
Exemplo
Adicione uma legenda:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend()
plt.show()
Resultado:
Legenda com cabeçalho
Para adicionar um cabeçalho à legenda, adicione o title
parâmetro à legend
função.
Exemplo
Adicione uma legenda com um cabeçalho:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show()
Resultado: