• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Introducción a las gráficas de tarta en Matplotlib

septiembre 30, 2024 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

Junto a las gráficas de barras, una de las mejores opciones para visualizar datos categóricos son las gráficas de tarta. Mediante las cuales se puede mostrar el peso que tienen cada una de las categorías en el total de los datos. En esta entrada se explicarán las bases para la creación de gráficas de tarta en Matplotlib y algunas de las opciones más interesantes.

Tabla de contenidos

  • 1 Creación de una gráfica de tarta básica con Matplotlib
  • 2 Añadir valores y porcentajes a la gráfica
  • 3 Cambiar los colores de las porciones
  • 4 Añadir un efecto de explosión
  • 5 Convertir la gráfica de tarta en una de tipo donut
  • 6 Agregar una Leyenda
  • 7 Conclusiones

Creación de una gráfica de tarta básica con Matplotlib

Para crear una gráfica de tarta es necesario contar con un conjunto de datos categóricos, por ejemplo, las ventas en función a alguna categoría. Con los datos solamente se debe importar Pyplot de Matplotlib y pasar los datos a la función plt.pie():

import matplotlib.pyplot as plt

# Datos para la gráfica
labels = ['Ventas A', 'Ventas B', 'Ventas C', 'Ventas D']
sizes = [25, 40, 20, 20]

# Crear gráfica de tarta básica
plt.pie(sizes, labels=labels)
plt.title("Gráfica de Tarta Básica")
plt.show()
Gráfica de tarta básica creada con Matplotlib
Gráfica de tarta básica

Este código genera una gráfica de tarta básica con las etiquetas correspondientes. Para lo que se le han pasado dos parámetros a la función:

  • sizes: una lista o array que contiene los tamaños de cada porción en la tarta. Los valores son proporcionales entre sí, por lo que no es necesario normalizarlos para usarlos (no tiene que sumar 100 ni ninguna cantidad específica, la función se encarga de calcular las proporciones).
  • labels: parámetro opcional con el que se indica los nombres de cada categoría. Las etiquetas aparecerán alrededor de las porciones para identificarlas. Si el parámetro no se indica no se mostrará ninguna etiqueta en la gráfica.

Añadir valores y porcentajes a la gráfica

La gráfica da una información visual de las relaciones entre las diferentes categorías. Pero, en algunos casos, puede ser necesario incluir los valores numéricos exactos. Para esto se puede usar la propiedad autopct para calcular y mostrar los porcentajes en de cada una de las categorías. Esto es lo que se hace en el siguiente ejemplo:

Nueva herramienta: Comparador y Formateador de Texto y JSON en el laboratorio de Analytics Lane
En Analytics Lane
Nueva herramienta: Comparador y Formateador de Texto y JSON en el laboratorio de Analytics Lane

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title("Gráfica de Tarta con Porcentajes")
plt.show()
Gráfica de tarta con los porcentajes creada con Matplotlib
Porcentajes incluidos en la gráfica de tarta

El parámetro autopct permite agregar los porcentajes, y el formato '%1.1f%%' muestra los valores con un decimal.

Si lo que se desea es mostrar los datos en lugar del porcentaje es necesario pasar una función lambda al parámetro autopct en lugar del formato. Esto permite escribir cualquier valor en la gráfica. Por ejemplo, en la siguiente gráfica se puede ver como mostrar el valor de la categoría con el símbolo del Euro.

# Función personalizada para mostrar valores
def func(valor):
    return f'{valor:.0f}'  # Valor sin decimales

# Crear gráfica de tarta mostrando los valores
plt.pie(sizes, labels=labels, autopct=lambda p: func(p * sum(sizes) / 100))
plt.title("Gráfica de Tarta con Valores Numéricos")
plt.show()
Gráfica de tarta con los valores creada con Matplotlib
Valores incluidos en la gráfica de tarta

La función personalizada func(valor) convierte en texto el valor numérico, debido a que pie() pasa como valor el porcentaje es necesario recuperar el dato original. Para lo que se suma los valores y se multiplican por el valor dividido por 100.

Publicidad


Cambiar los colores de las porciones

Matplotlib permite personalizar los colores usando el parámetro colors al que se le debe especificar una lista de colores para las porciones:

colors = ['#ff9999', '#66b3ff', '#99ff99', '#ffcc99']

plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
plt.title("Gráfica de Tarta con Colores Personalizados")
plt.show()
Gráfica de tarta con los colores personalizados creada con Matplotlib
Colores personalizados

Esta opción permite obtener un control total sobre el aspecto visual de la gráfica. Pudiendo adaptar este a las necesidades específicas de cada proyecto.

Añadir un efecto de explosión

Para resaltar una porción en particular, se puede recurrir al parámetro explode para “separar” una sección del resto:

explode = (0.1, 0, 0, 0)  # Solo explotar la primera porción

plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%')
plt.title("Gráfica de Tarta con Efecto de Explosión")
plt.show()
Gráfica de tarta con efecto explosión en la categoría "Ventas A"
Separar una categoría con el efecto explosión

El parámetro explode es una tupla que define cuánto se separa cada porción. Cada valor de la tupla corresponde a una porción. En este caso, el valor 0.1 explota solo la primera porción (10% de distancia hacia fuera), mientras que las otras se mantienen sin explotar (0).

Convertir la gráfica de tarta en una de tipo donut

Una gráfica de donut (o anillos) es simplemente una gráfica de tarta con un agujero en el centro. Algo que se puede lograr ajustando el parámetro wedgeprops:

plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', wedgeprops={'width': 0.3})
plt.title("Gráfica de Donut")
plt.show()
Gráfica de tipo donut creada con Matplotlib
Gráfica de tipo donut

El parámetro wedgeprops recibe un diccionario con propiedades mediante las cuales se modifica el estilo de las porciones. En este caso, el valor {‘width': 0.3} reduce el ancho de cada porción a un 30% del total, creando el efecto de un donut o anillo al dejar un agujero en el centro.

Publicidad


Agregar una Leyenda

Finalmente, una gráfica de tarta puede beneficiarse de una leyenda que explique el valor de las porciones:

plt.pie(sizes, colors=colors)
plt.legend(labels, title="Categorías")
plt.title("Gráfica de Tarta con Leyenda")
plt.show()
Inclusión de una leyenda en la gráfica de tarta con las categorías y eliminación en la gráfica.
Las categorías se muestren en la leyenda en lugar de la gráfica

En este caso se ha agregado la leyenda y eliminado las etiquetas para evitar redundancia.

Conclusiones

Las gráficas de tarta son una herramienta visual con la que se puede mostrar el peso de varias categorías en un conjunto de datos. Por lo que es uno de los gráficos básicos de Matplotlib. En esta entrada se ha visto cómo crear una gráfica de tarta básica, agregarle valores, configurar los colores, añadir un efecto explosión, convertida en una de tipo donut o anillo y agregar una leyenda.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Nueva herramienta: Comparador y Formateador de Texto y JSON en el laboratorio de Analytics Lane
  • El mayor riesgo de la inteligencia artificial conversacional: cuando la IA confirma lo que ya pensabas – Conversar con una inteligencia artificial – Parte III
  • Analytics Lane lanza su Generador de UUIDs: identificadores únicos, seguros y listos para producción en segundos
  • Conversor de Colores: convierte, compara y valida cualquier color en tiempo real
  • Simulador de DBSCAN: descubre cómo encontrar clusters reales (y ruido) sin fijar K
  • Calculadora de Tamaño del Efecto: la herramienta clave para entender cuánto importa realmente una diferencia
  • Calculadora de Contrastes de Hipótesis: interpreta correctamente el p-valor y toma decisiones estadísticas con confianza
  • Nuevo conversor de timestamp Unix en el laboratorio de Analytics Lane
  • Nuevo test de normalidad interactivo en el laboratorio de Analytics Lane

Publicado en: Python Etiquetado como: Matplotlib

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

El mayor riesgo de la inteligencia artificial conversacional: cuando la IA confirma lo que ya pensabas – Conversar con una inteligencia artificial – Parte III

abril 28, 2026 Por Daniel Rodríguez

Analytics Lane lanza su Generador de UUIDs: identificadores únicos, seguros y listos para producción en segundos

abril 27, 2026 Por Daniel Rodríguez

Conversor de Colores: convierte, compara y valida cualquier color en tiempo real

abril 27, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • El mayor riesgo de la inteligencia artificial conversacional: cuando la IA confirma lo que ya pensabas – Conversar con una inteligencia artificial – Parte III publicado el abril 28, 2026 | en Opinión
  • Comprobar hash SHA-256 o MD5 en Windows, macOS y Linux publicado el noviembre 1, 2023 | en Criptografía, Herramientas
  • Cómo solucionar problemas de red en VirtualBox: Guía completa publicado el junio 11, 2025 | en Herramientas
  • pandas Pandas: Cómo crear un DataFrame vacío y agregar datos publicado el noviembre 16, 2020 | en Python
  • ¿Qué es la estadística y por qué todos deberíamos comprenderla? publicado el noviembre 22, 2024 | en Opinión

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto