Aprender a usar Matplotlib en Python te abre la puerta al mundo de la visualización de datos. Esta biblioteca, creada por John D. Hunter en 2003, se ha vuelto el estándar para generar gráficos de alta calidad en ciencia, finanzas y análisis de datos, y se integra de forma natural con NumPy y Pandas.
¿Qué es Matplotlib y cómo se instala en Python?
Matplotlib es la librería de Python más usada para crear visualizaciones estáticas, animadas e interactivas. Si trabajas en Google Colaboratory ya viene preinstalada, pero conviene saber cómo agregarla en cualquier entorno [0:38].
Para instalarla en un entorno virtual o en Visual Studio Code, ejecutas en la terminal:
bash
pip install matplotlib
¿Qué es Matplotlib? Es una biblioteca de Python para visualización de datos creada en 2003. Permite crear gráficos de líneas, dispersión, barras y más, y se integra con NumPy y Pandas para análisis exploratorio.
¿Por qué importar pyplot como plt?
Dentro de Matplotlib, el módulo pyplot contiene las funciones necesarias para construir gráficos. Por convención se importa con el alias plt, lo que ahorra escritura cada vez que llamas a una función [1:25].
python
import numpy as np
import matplotlib.pyplot as plt
Usar NumPy junto con Matplotlib te permite trabajar con arrays, una estructura más eficiente que las listas para manejar grandes volúmenes numéricos.
¿Cómo hacer un gráfico de líneas con Matplotlib?
El gráfico de líneas es ideal para mostrar tendencias a lo largo del tiempo o cambios continuos en los datos [1:50]. Piensa en las ventas mensuales de un producto durante un año: una línea te deja ver subidas, bajadas, estacionalidad y cualquier patrón en la tendencia.
Empiezas creando los datos con arrays de NumPy y configurando el tamaño de la figura antes de graficar:
python
meses = np.array(['E', 'F', 'Mar', 'Ma', 'J'])
ventas = np.array([20, 25, 30, 28, 35])
plt.figure(figsize=(8, 6))
plt.plot(meses, ventas, 'o', color='blue')
plt.title('Ventas mensuales de un producto')
plt.xlabel('Meses')
plt.ylabel('Ventas (miles de unidades)')
plt.show()
La función plt.figure define las dimensiones del lienzo, plt.plot dibuja la línea, y los parámetros 'o' y color controlan el marcador y el color de los puntos [3:30].
¿Por qué siempre añadir título y etiquetas en los ejes?
Cuando muestras un gráfico, tu trabajo es darle al usuario toda la información posible para entender qué está viendo. Por eso siempre defines:
- Un título descriptivo con
plt.title().
- Una etiqueta del eje X con
plt.xlabel().
- Una etiqueta del eje Y con
plt.ylabel().
Un detalle importante: si repites el mismo nombre en el eje X (como usar dos veces "Ma" para marzo y mayo), Matplotlib lanza un error. Por eso conviene diferenciar las etiquetas, aunque sea con abreviaciones únicas [5:10].
¿Cuándo usar un gráfico de dispersión en análisis de datos?
El gráfico de dispersión o scatter plot sirve para visualizar la relación entre dos variables y es una herramienta clave en el análisis exploratorio de datos [6:25]. Por ejemplo, si quieres saber cómo afectan las horas de estudio al puntaje de un examen, este gráfico te muestra si la correlación es positiva, negativa o inexistente.
¿Qué muestra un gráfico de dispersión? La relación entre dos variables numéricas. Cada punto representa un par de valores (X, Y). Si los puntos suben juntos, hay correlación positiva; si se mueven en sentidos opuestos, es negativa.
Un ejemplo práctico con listas en Python:
python
import matplotlib.pyplot as plt
horas_estudio = [1, 2, 3, 4, 5, 6, 7, 8]
puntaje_examen = [55, 60, 65, 70, 75, 80, 85, 90]
plt.figure(figsize=(8, 6))
plt.scatter(horas_estudio, puntaje_examen, color='green')
plt.title('Correlación entre horas estudiadas y puntaje')
plt.xlabel('Horas')
plt.ylabel('Puntaje')
plt.show()
El método plt.scatter recibe primero los datos del eje X y luego los del eje Y. Puedes consultar la lista completa de colores disponibles en la documentación oficial de Matplotlib.
¿Qué error aparece si X y Y tienen distinto tamaño?
Un detalle crítico al trabajar con dispersión: las dos listas o arrays deben tener exactamente la misma cantidad de elementos. Si una tiene siete valores y la otra ocho, Matplotlib devuelve un error y entrega un gráfico vacío [8:35].
La lectura del resultado es directa: a más horas de estudio, mayor puntaje obtenido. Esa relación creciente es justo lo que llamamos correlación positiva.
¿Qué sigue después de los gráficos básicos?
Ya tienes en tu caja de herramientas dos visualizaciones fundamentales: líneas para tendencias temporales y dispersión para relaciones entre variables. El siguiente paso es personalizar cada figura con estilos, leyendas, anotaciones y paletas de color para que tus gráficos comuniquen exactamente lo que quieres.
¿Qué tipo de datos quieres visualizar primero con Matplotlib? Cuéntame en los comentarios y comparte tu ejemplo.