CodeGym /Curso de Java /Python SELF ES /Creación de gráficos circulares para una representación v...

Creación de gráficos circulares para una representación visual de las categorías

Python SELF ES
Nivel 41 , Lección 4
Disponible

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:

Python

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

Python

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.

Python

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.

Python

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.

Python

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.

Python

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! 🍕

1
Опрос
Construcción de gráficos con Matplotlib,  41 уровень,  4 лекция
недоступен
Construcción de gráficos con Matplotlib
Construcción de gráficos con Matplotlib
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION