1. Concepto y uso de un gráfico circular
Un gráfico circular, también conocido como "pastel", permite mostrar visualmente el tamaño relativo de las partes de un todo. Si alguna vez les has preguntado a 10 de tus amigos sobre su lenguaje de programación favorito y quisieras representar esto como un gráfico, un gráfico circular es lo que necesitas. Es ideal para mostrar las partes constituyentes de algo, como la cuota de mercado de las empresas o la distribución del tiempo diario entre programar y ver videos de gatitos.
Uso de la función pie()
para crear un gráfico circular
Matplotlib ofrece una función genial llamada pie()
, que hace que crear gráficos circulares
sea más fácil que comerse un pastel.
Aquí tienes un ejemplo básico de su uso:
import matplotlib.pyplot as plt
# Datos para el gráfico
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10] # Porcentajes
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'] # Colores de los segmentos
# Creación del gráfico
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
# Configuración del eje para el gráfico circular
plt.axis('equal')
# Mostrar el gráfico
plt.show()
En este ejemplo definimos las categorías (lenguajes de programación), sus tamaños y los colores utilizados.
Luego llamamos a la función pie()
para crear el gráfico. El parámetro
autopct='%1.1f%%'
agrega los porcentajes a los segmentos y
startangle=140
rota el gráfico para que se vea más bonito.
2. Personalización de gráficos circulares
Un gráfico circular es como un vestido para Año Nuevo: puedes decorarlo y personalizarlo según tu gusto. Veamos algunas maneras de personalización.
Mostrar porcentajes con autopct
El parámetro autopct
permite mostrar el porcentaje de cada categoría dentro del sector.
El valor "%1.1f%%"
define el formato de visualización de los porcentajes
(un decimal después del punto).
import matplotlib.pyplot as plt
labels = ["Gatos", "Perros", "Pájaros", "Peces"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("Popularidad de mascotas")
plt.show()
Resaltar un segmento del gráfico con explode
El parámetro explode
permite resaltar uno o más sectores, desplazándolos del centro.
Esto puede ser útil para llamar la atención sobre una categoría específica.
import matplotlib.pyplot as plt
labels = ["Gatos", "Perros", "Pájaros", "Peces"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0) # Resaltamos el primer sector (gatos)
plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("Popularidad de mascotas")
plt.show()
Aquí, el sector «Gatos» se desplaza del centro un 10% (valor 0.1
), atrayendo la atención.
Cambiar el color de los sectores con colors
Puedes asignar un color a cada sector usando el parámetro colors
, pasando una lista de colores.
import matplotlib.pyplot as plt
labels = ["Gatos", "Perros", "Pájaros", "Peces"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("Popularidad de mascotas")
plt.show()
En este ejemplo, a cada sector se le asigna su propio color para mejorar la percepción visual.
Cambiar el ángulo inicial con startangle
El parámetro startangle
define el ángulo inicial del gráfico. Esto puede ayudar a ubicar
la categoría principal en una posición específica, por ejemplo, en la parte superior del gráfico.
import matplotlib.pyplot as plt
labels = ["Gatos", "Perros", "Pájaros", "Peces"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("Popularidad de mascotas")
plt.show()
El parámetro startangle=90
rota el gráfico para que el primer sector comience en un ángulo
de 90 grados (vertical hacia arriba).
3. Ejemplos prácticos
Aunque los gráficos circulares son una herramienta clásica, no son adecuados para todos los casos. Si tienes muchos segmentos pequeños o datos que son difíciles de interpretar en un gráfico circular, quizás deberías optar por otra visualización, como un gráfico de barras. Siempre piensa en la legibilidad y en tu audiencia.
Ejemplo: Análisis de mercado por segmentos
Supongamos que tenemos datos sobre la distribución de las cuotas de mercado entre cuatro empresas, y queremos crear un gráfico circular para representarlo visualmente.
import matplotlib.pyplot as plt
# Datos de cuotas de mercado
labels = ["Empresa A", "Empresa B", "Empresa C", "Empresa D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0) # Resaltamos el sector de Empresa A
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("Distribución de cuotas de mercado")
plt.show()
Este gráfico muestra las cuotas de mercado de las empresas y resalta el segmento de la Empresa A, destacando su posición líder en el mercado.
Consejos útiles para gráficos circulares
- Limita la cantidad de categorías: Los gráficos circulares son efectivos con pocas categorías. Si hay demasiadas categorías, el gráfico se vuelve difícil de interpretar.
- Añade porcentajes: Mostrar los valores de porcentajes en los sectores ayuda a interpretar los datos más rápido.
- Usa resaltado (explode): Resalta las categorías importantes para enfocar la atención en ellas.
- Paleta de colores: Usa colores que sean fáciles de distinguir, especialmente si el gráfico incluye más de cuatro categorías.
- Considera alternativas: Para muchas categorías, es mejor usar un gráfico de barras o histogramas.
Usa este pequeño recorrido por los gráficos circulares para mejorar tus habilidades con Matplotlib. Es un paso más para convertirte en un maestro de la visualización de datos, capaz de contar cualquier historia con gráficos y diagramas. ¡Buena suerte, y que tus gráficos sean siempre apetitosos! 🍕
GO TO FULL VERSION