Gráficos circulares de Matplotlib
Creación de gráficos circulares
Con Pyplot, puede usar la pie()
función para dibujar gráficos circulares:
Ejemplo
Un gráfico circular simple:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
plt.pie(y)
plt.show()
Resultado:
Como puede ver, el gráfico circular dibuja una pieza (llamada cuña) para cada valor de la matriz (en este caso [35, 25, 25, 15]).
De forma predeterminada, el trazado de la primera cuña comienza desde el eje x y se mueve en sentido contrario a las agujas del reloj :
Nota: El tamaño de cada cuña se determina comparando el valor con todos los demás valores, utilizando esta fórmula:
El valor dividido por la suma de todos los valores: x/sum(x)
Etiquetas
Agregue etiquetas al gráfico circular con el label
parámetro.
El label
parámetro debe ser una matriz con una etiqueta para cada cuña:
Ejemplo
Un gráfico circular simple:
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 se mencionó, el ángulo de inicio predeterminado está en el eje x, pero puede cambiar el ángulo de inicio especificando un
startangle
parámetro.
El startangle
parámetro se define con un ángulo en grados, el ángulo por defecto es 0:
Ejemplo
Comience la primera cuña a 90 grados:
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:
Explotar
¿Quizás quieras que una de las cuñas se destaque? El
explode
parámetro le permite hacer eso.
El explode
parámetro, si se especifica, y no None
, debe ser una matriz con un valor para cada cuña.
Cada valor representa a qué distancia del centro se muestra cada cuña:
Ejemplo
Tire de la cuña "Manzanas" 0.2 desde el centro del pastel:
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
Agregue una sombra al gráfico circular configurando el
shadows
parámetro en True
:
Ejemplo
Añadir una 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:
Colores
Puede establecer el color de cada cuña con el colors
parámetro.
El colors
parámetro, si se especifica, debe ser una matriz con un valor para cada cuña:
Ejemplo
Especifique un nuevo color para cada cuña:
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:
Puede usar valores de color hexadecimales , cualquiera de los 140 nombres de color admitidos o uno de estos accesos directos:
'r'
- Rojo
'g'
- Verde
'b'
- Azul
'c'
- Cian
'm'
- Magenta
'y'
- Amarillo
'k'
- Negro
'w'
- Blanco
Leyenda
Para agregar una lista de explicación para cada cuña, use la legend()
función:
Ejemplo
Añadir una leyenda:
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:
Leyenda con encabezado
Para agregar un encabezado a la leyenda, agregue el title
parámetro a la legend
función.
Ejemplo
Agregue una leyenda con un encabezado:
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: