Python · Sección 14

Visualización con Matplotlib, Seaborn y Plotly

Elección de gráficos según la pregunta, construcción y personalización de figuras y comunicación accesible sin distorsionar los datos.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Pandas: preparar y analizar tablas.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Matplotlib con Seaborn y Plotly y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Instala Python 3 y utiliza IDLE o un editor como VS Code. Desde NumPy y Pandas trabaja dentro de un entorno virtual.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Matplotlib y Seaborn y Plotly?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Diseñarás gráficos desde una pregunta y aprenderás a escoger entre control detallado, exploración estadística e interacción.

Al terminar podrás
  • La pregunta determina el gráfico antes que la biblioteca
  • Matplotlib ofrece control; Seaborn agrega patrones estadísticos
  • Plotly añade interacción, pero no reemplaza una narrativa clara
01
Elegir la forma

La pregunta determina el gráfico antes que la biblioteca

Barras comparan categorías; líneas muestran evolución ordenada en el tiempo; dispersión explora relación entre dos cantidades; histogramas muestran distribución. El eje, la unidad, el período y la fuente deben aparecer cuando aportan contexto.

01

Categorías: barras ordenadas y etiquetas legibles.

02

Tiempo: líneas sin mezclar fechas fuera de orden.

03

Relación: dispersión sin afirmar causalidad automáticamente.

Comprueba lo aprendido · 01

¿Qué gráfico elegirías para observar la distribución de tiempos de espera?

Mostrar respuesta

Un histograma o una densidad, complementado si hace falta por un boxplot. Una barra por cada observación no muestra bien la forma de la distribución.

02
Construir y personalizar

Matplotlib ofrece control; Seaborn agrega patrones estadísticos

Matplotlib trabaja con figuras y ejes, y permite controlar cada elemento. Seaborn se integra con DataFrame y ofrece temas y gráficos estadísticos. En ambos casos se debe conservar una escala honesta, usar color con propósito y no depender solo del color para distinguir grupos.

01

fig, ax = plt.subplots() hace explícito dónde dibujas.

02

Los títulos describen el hallazgo o la pregunta.

03

Una paleta accesible y marcas diferentes mejoran la lectura.

Comprueba lo aprendido · 02

¿Por qué un eje recortado puede ser engañoso en un gráfico de barras?

Mostrar respuesta

Porque la longitud de la barra representa magnitud. Si el eje no parte de cero, una diferencia pequeña puede parecer enorme. En otros gráficos el criterio puede variar, pero debe justificarse y señalarse.

03
Comunicar e interactuar

Plotly añade interacción, pero no reemplaza una narrativa clara

Plotly permite tooltips, zoom y filtros en entornos compatibles. La interacción puede ayudar a explorar detalles, pero el mensaje principal debe comprenderse sin descubrir controles ocultos. En Jupyter, código, explicación y resultado deben mantener un orden reproducible.

01

Un tooltip amplía información sin saturar la vista.

02

La versión estática debe conservar título, unidades y conclusión.

03

Reiniciar y ejecutar todo comprueba el orden del notebook.

Comprueba lo aprendido · 03

¿Qué problema aparece si un notebook solo funciona ejecutando celdas en un orden secreto?

Mostrar respuesta

No es reproducible: el resultado depende de estado oculto. Debe poder reiniciarse y ejecutarse de principio a fin con entradas y dependencias declaradas.

Resumen de la sección

Tu recorrido en tres ideas

  1. La pregunta determina el gráfico antes que la biblioteca
  2. Matplotlib ofrece control; Seaborn agrega patrones estadísticos
  3. Plotly añade interacción, pero no reemplaza una narrativa clara
PROFUNDIZACIÓN / LABORATORIO GUIADO

Diseña tres gráficos que no compitan con el mensaje

Relaciona pregunta, audiencia, escala, accesibilidad y narrativa con una representación honesta de los datos.

CASO

Debes explicar ventas mensuales al equipo operativo y a una audiencia general con diferentes niveles de detalle.

Procedimiento

  1. Escribe la pregunta y la comparación que debe facilitar cada gráfico.
  2. Construye una versión estática clara y una exploración interactiva cuando aporte contexto.
  3. Prueba etiquetas, contraste, escalas y lectura sin depender solo del color.

Evidencia mínima

  • Elección gráfica justificada.
  • Código reproducible y datos de origen identificados.
  • Interpretación con patrón, excepción y límite.
Mostrar razonamiento modelo

Una línea sirve para evolución temporal; barras facilitan categorías; dispersión explora relaciones. La interactividad es útil para detalle, pero no reemplaza un mensaje visible ni corrige una escala engañosa.

Para ir más lejos

¿Cómo adaptarías el gráfico para una persona que no puede distinguir rojo y verde?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Elegir gráficos por apariencia sin formular la pregunta ni reconocer el tipo de variable.

ERROR 02

Recortar ejes, saturar de color o usar escalas que exageran las diferencias.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Crea tres gráficos para mostrar composición, evolución y relación entre variables de un mismo conjunto de datos.

Mostrar pauta de corrección
Una respuesta sólida:
  • Cada gráfico responde una pregunta distinta y apropiada.
  • Incluye título, unidades, fuente y una paleta accesible.
  • La interpretación señala patrón, excepción y límite sin afirmar causalidad.