Este tutorial proporciona una guía completa para crear varios gráficos circulares utilizando Matplotlib, una potente biblioteca de visualización de datos de Python. Cubriremos conceptos fundamentales y profundizaremos en técnicas avanzadas, como personalizar la dirección del gráfico y resaltar sectores de datos específicos.
Tabla de contenido
- Crear un gráfico circular básico
- Crear un gráfico circular en el sentido de las agujas del reloj
- Resaltar sectores con la función Explode
- Personalizar la apariencia del gráfico circular
Crear un gráfico circular básico
Comencemos construyendo un gráfico circular simple. Usaremos datos de muestra que representan la distribución de diferentes tipos de frutas en una cesta.
import matplotlib.pyplot as plt
# Datos de muestra
labels = 'Manzanas', 'Plátanos', 'Cerezas', 'Dátiles'
sizes = [15, 30, 45, 10]
# Crear el gráfico circular
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
# Asegurar un gráfico circular
plt.axis('equal')
# Agregar un título
plt.title('Distribución de frutas')
# Mostrar el gráfico
plt.show()
Este fragmento de código primero importa el módulo matplotlib.pyplot
. Luego define las etiquetas y los tamaños correspondientes para cada sector del gráfico. La función plt.pie()
genera el gráfico, calculando y mostrando automáticamente los porcentajes (autopct
), y comenzando el primer sector en un ángulo de 140 grados. plt.axis('equal')
asegura que el gráfico sea un círculo perfecto. Finalmente, plt.title()
agrega un título, y plt.show()
muestra el resultado.
Crear un gráfico circular en el sentido de las agujas del reloj
Para crear un gráfico circular que progrese en el sentido de las agujas del reloj, simplemente modificamos el parámetro startangle
dentro de la función plt.pie()
. Un startangle
de 0 grados colocará el primer sector en el punto más a la derecha, y los sectores siguientes seguirán en el sentido de las agujas del reloj.
import matplotlib.pyplot as plt
labels = 'Manzanas', 'Plátanos', 'Cerezas', 'Dátiles'
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=0)
plt.axis('equal')
plt.title('Distribución de frutas (Sentido horario)')
plt.show()
Resaltar sectores con la función Explode
La función «explode» permite destacar sectores específicos separándolos ligeramente del resto del gráfico. Esto se hace proporcionando una lista al parámetro explode
. La longitud de la lista debe coincidir con la lista sizes
, y cada elemento representa la distancia de desplazamiento para el sector correspondiente. Un valor de 0 indica que no hay desplazamiento.
import matplotlib.pyplot as plt
labels = 'Manzanas', 'Plátanos', 'Cerezas', 'Dátiles'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # Separar el segundo sector ('Plátanos')
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
plt.axis('equal')
plt.title('Distribución de frutas (Sector separado)')
plt.show()
En este ejemplo, el segundo sector (‘Plátanos’) se separa estableciendo su valor de explosión en 0.1. Experimente con diferentes valores de explosión para lograr el énfasis visual deseado. Asegúrese de que la tupla explode
se alinee con el número de sectores en su gráfico circular.
Personalizar la apariencia del gráfico circular
Matplotlib ofrece amplias opciones para personalizar sus gráficos circulares. Puede ajustar los colores, agregar leyendas, cambiar los tamaños de fuente y mucho más. Explore la documentación de Matplotlib para obtener una lista completa de opciones de personalización.