De los Números a la Narrativa

Francisco Alfaro
Valeska Canales

2024-11-15

🤔 ¿Alguna vez has sentido que los datos que analizas no comunican todo su potencial?

🎯 Objetivos del Taller

  • 📊 Aprender sobre visualización de datos.
  • 🧑‍🎨 Aprender a crear visualizaciones.
  • 🌐 Entender cómo construir una app interactiva.
  • 💻 Integrar visualizaciones en una aplicación web simple.

🤔 ¿Qué es la Visualización de Datos?


La visualización de datos transforma información en gráficos para facilitar su comprensión.

Cuarteto de ANSCOMBE


📋 Tablas vs 📊 Gráficos

Teoría de visualización

4 Pilares Visualización - Noah Iliinsky


  1. Propósito: Define la meta.
  2. Contenido: Datos relevantes.
  3. Estructura: Organización clara.
  4. Formato: Gráfico adecuado.

Herramientas de Visualización en Python

Exploración de Datos

¡Demasiadas opciones!
El usuario no puede ser responsable de encontrar lo valioso.

Tipos de Gráficos Esenciales

(C) Essential chart types for data visualization, por Atlassian.

  • Matplotlib es una biblioteca para crear gráficos estáticos.
  • Tipos de gráficos más comunes:
    • Líneas, Barras, Dispersión, Histograma.

〽️ Ejemplo: líneas

〽️ Ejemplo: dispersión

〽️ Ejemplo: barras

〽️ Ejemplo: barras horizontales

  • Seaborn extiende Matplotlib con gráficos más estilizados.
  • Especialmente útil para:
    • Gráficos estadísticos.
    • Análisis exploratorio de datos.

📊 Ejemplo: penguins

species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
0 Adelie Torgersen 39.1 18.7 181.0 3750.0 Male
1 Adelie Torgersen 39.5 17.4 186.0 3800.0 Female
2 Adelie Torgersen 40.3 18.0 195.0 3250.0 Female
4 Adelie Torgersen 36.7 19.3 193.0 3450.0 Female
5 Adelie Torgersen 39.3 20.6 190.0 3650.0 Male

📊 Ejemplo: dispersión

import seaborn as sns
import matplotlib.pyplot as plt

# Crear un gráfico de dispersión con seaborn
plt.figure(figsize=(6, 3))
sns.scatterplot(x='bill_length_mm', y='bill_depth_mm', data=penguins, 
                color='salmon')

# Mostrar el gráfico
plt.show()

📊 Ejemplo: dispersión

import seaborn as sns
import matplotlib.pyplot as plt

# Crear un gráfico de dispersión con seaborn
plt.figure(figsize=(6, 3))
sns.scatterplot(x='flipper_length_mm', y='body_mass_g', data=penguins, 
                color='salmon', hue= "sex")

# Mostrar el gráfico
plt.show()

📊 Matplotlib vs Seaborn

import matplotlib.pyplot as plt

# Contar la cantidad de Pingüinos por tipo
penguins_type = penguins["species"].value_counts()

# Crear un gráfico de barras
plt.figure(figsize=(6, 3))
penguins_type.plot(kind="bar", color="salmon")

# Mostrar gráfico
plt.show()

📊 Matplotlib vs Seaborn

import seaborn as sns
import matplotlib.pyplot as plt

# Crear el gráfico de barras con seaborn
plt.figure(figsize=(6, 3))
sns.countplot(data=penguins, x="species", color="salmon")

# Mostrar el gráfico
plt.show()

🧑🏻‍💻 Aplicaciones Web Interactivas

  • Streamlit permite crear aplicaciones web rápidamente.
  • Puedes integrar gráficos creados con Matplotlib y Seaborn.
  • Ideal para compartir resultados de análisis de datos.

Ejemplo de Streamlit


¡Ahora te toca a ti!🫵

¡Ahora te toca a ti!🫵

🎓 Conclusión

  • Matplotlib para gráficos básicos.
  • Seaborn para gráficos avanzados.
  • Streamlit para aplicaciones interactivas.