Cuando empiezas con visualización de datos en Python, lo primero que te encuentras es qué hay demasiadas opciones. Matplotlib, Seaborn, Plotly, Altair, Bokeh... Al final te quedas paralizada sin saber cuál usar.
Llevo unos meses usando las tres principales y aquí va mi opinión honesta de cada una.
Matplotlib: la base de todo
Es la librería OG. Potente, flexible, y... bastante fea por defecto.
Lo bueno:
- Control total sobre cada pixel del gráfico
- Toda la documentación y tutoriales del mundo
- Es la base de Seaborn, así que entenderla te ayuda con todo lo demás
Lo malo:
- La sintaxis es verbosa. Para un gráfico decente necesitas 10+ líneas
- Los gráficos por defecto parecen de los años 90
- La API es confusa: pyplot vs orientada a objetos
Cuando la uso: cuando necesito personalizar algo muy específico que Seaborn no me deja, o cuando estoy haciendo subplots complejos.
Seaborn: bonito y rápido
Seaborn es Matplotlib con esteroides estéticos. Misma base, pero mucho más bonito por defecto.
Lo bueno:
- Gráficos estadísticos en una línea de código
- Paletas de colores preciosas out of the box
- Se integra perfecto con Pandas DataFrames
Lo malo:
- Menos control fino que Matplotlib puro
- A veces la documentación asume que ya sabes Matplotlib
Cuando la uso: para EDAs, análisis rápidos, y siempre que quiero un gráfico bonito sin esfuerzo. Es mi go-to para el día a día.
Plotly: interactivo y moderno
Plotly es otro mundo. Los gráficos son interactivos: puedes hacer hover, zoom, filtrar...
Lo bueno:
- Interactividad sin escribir JavaScript
- Perfecto para dashboards y presentaciones
- Plotly Express hace gráficos complejos en una línea
Lo malo:
- Los gráficos pesan más (no ideal para notebooks con muchos)
- La sintaxis es diferente a Matplotlib, hay que reaprender
- A veces es demasiado para un análisis rápido
Cuando la uso: para presentaciones, cuando quiero impresionar, o cuando el gráfico necesita interactividad real.
Mi recomendación
Si estas empezando: aprende Seaborn primero. Te da resultados bonitos rápido y te motiva a seguir. Luego ve aprendiendo Matplotlib para entender lo que pasa por debajo. Y cuando necesites interactividad, Plotly.
No hace falta dominar las tres. Hace falta saber cuando usar cada una.