Saltar al contenido

# graficos-con-python

Gráficos con Python

Volver a la portada del curso
Proyecto

Proyecto Final: Gráfico Completo

Sección 5 · Proyecto Final y Comparaciones

Proyecto final: gráfico completo

El proyecto final reúne todo el curso en un entregable realista: un análisis visual de un conjunto de datos que combina una figura estática para un informe y una versión interactiva para explorar. El objetivo no es acumular gráficos, sino elegir los adecuados y hacer que cada uno responda una pregunta concreta sobre los datos.

Qué debes entregar

Un notebook que corra de principio a fin sin errores y que genere tres archivos:

  • Una figura estática en PNG, hecha con Matplotlib y Seaborn, con al menos dos paneles relacionados.
  • Un gráfico interactivo en HTML, hecho con Plotly, que permita explorar los mismos datos.
  • Un breve texto dentro del notebook que explique en tres o cuatro frases qué muestran los gráficos y qué conclusión se obtiene.

Puedes usar los datos de ventas del notebook de desarrollo o un conjunto propio. Si usas uno propio, debe cargarse sin pasos manuales: generado con código o incluido junto al notebook.

Estructura sugerida

Organiza el notebook en secciones claras: preparación de los datos, figura estática, gráfico interactivo y conclusiones. Cada sección empieza con una celda de texto que explica qué se va a hacer y por qué. Separar la preparación de los datos de la visualización facilita corregir un gráfico sin tocar el resto.

import numpy as np
import pandas as pd
import plotly.express as px

rng = np.random.default_rng(7)
df = pd.DataFrame({
    "mes": np.tile(np.arange(1, 13), 2),
    "tienda": ["Centro"] * 12 + ["Norte"] * 12,
    "ventas": np.concatenate([rng.normal(100, 10, 12).cumsum(), rng.normal(80, 10, 12).cumsum()]),
})
fig = px.line(df, x="mes", y="ventas", color="tienda", markers=True,
              title="La tienda Centro crece más rápido que la tienda Norte")
fig.write_html("entrega_interactiva.html")
print(df.groupby("tienda")["ventas"].max().round(0))

Criterios de evaluación

El proyecto se revisa con cuatro criterios. Tenlos presentes desde el inicio:

  • Elección del gráfico: cada gráfico usa la forma adecuada para su pregunta (evolución, comparación, distribución o relación).
  • Claridad: títulos que comunican la conclusión, ejes con etiquetas y unidades, leyendas legibles y sin elementos que distraigan.
  • Uso de las tres bibliotecas: Matplotlib y Seaborn en la figura estática y Plotly en la versión interactiva, cada una en su punto fuerte.
  • Reproducibilidad: el notebook corre completo tras reiniciar el kernel y genera los archivos entregables.

Cómo autoevaluar antes de entregar

Muestra tu figura estática a alguien sin explicarle nada y pregúntale qué entiende. Si su respuesta coincide con tu título, el gráfico funciona. Después, abre el archivo HTML en el navegador y comprueba que la interactividad agrega valor: filtrar por la leyenda, pasar el ratón por los puntos y ampliar zonas de interés. Por último, reinicia el kernel y ejecuta todo de nuevo para confirmar que no dependes de celdas ejecutadas fuera de orden.

Errores comunes en la entrega

  • Incluir muchos gráficos que repiten la misma información en lugar de pocos que responden preguntas distintas.
  • Usar colores que no se distinguen en escala de grises o para personas con daltonismo.
  • Olvidar las unidades en los ejes o dejar los nombres técnicos de las columnas como etiquetas.
  • Entregar solo capturas de pantalla del gráfico interactivo, lo que elimina su valor.

Cierre

Si tu notebook corre limpio, tus gráficos responden preguntas concretas y el texto final resume la conclusión, el proyecto está listo. Con esto cierras el curso con una habilidad directamente aplicable: convertir datos en gráficos que comunican.

Recursos