Matplotlib: visualización de datos en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Guía completa de Matplotlib: desde lo básico hasta técnicas avanzadas

Matplotlib es una potente biblioteca de Python para crear visualizaciones de datos estáticas, animadas e interactivas. Desarrollada por John Hunter en 2003, se ha convertido en la base de la mayoría de las otras bibliotecas de visualización en Python y sigue siendo el estándar de la industria para crear gráficos de alta calidad.

¿Qué es Matplotlib y para qué sirve?

Matplotlib es una biblioteca integral para crear gráficos bidimensionales y tridimensionales de cualquier complejidad. Ofrece una interfaz de programación similar a MATLAB, lo que la hace familiar para los usuarios de este popular entorno matemático.

Ventajas clave de Matplotlib:

  • Versatilidad: soporta más de 20 tipos diferentes de gráficos
  • Fácil de aprender: API intuitiva para un inicio rápido
  • Personalización flexible: control total sobre cada elemento de la visualización
  • Integración con NumPy y Pandas: compatibilidad perfecta con las principales bibliotecas de datos
  • Múltiples formatos de exportación: PNG, SVG, PDF, EPS, PGF y más
  • Multiplataforma: funciona en Windows, macOS y Linux
  • Comunidad activa: actualizaciones regulares y documentación extensa

Instalación y configuración inicial

La instalación de Matplotlib se realiza de forma estándar a través de pip:

pip install matplotlib

Para usar en Jupyter Notebook, también se recomienda instalar:

pip install matplotlib jupyter

Importación estándar de la biblioteca:

import matplotlib.pyplot as plt
import numpy as np  # se usa a menudo junto con matplotlib

Usar el alias plt es una práctica común en la comunidad de Python.

Arquitectura y componentes principales

Matplotlib se basa en una arquitectura de tres niveles:

  1. Capa de backend: se encarga del renderizado de los gráficos
  2. Capa de artistas (Artist): gestiona los objetos gráficos
  3. Capa de scripting: pyplot, la interfaz de alto nivel

Elementos principales de un gráfico:

  • Figure (figura): contenedor de nivel superior para todos los elementos
  • Axes (ejes): área donde se dibuja el gráfico
  • Axis (eje): líneas de coordenadas (X, Y, Z)
  • Artist (artista): todos los elementos visuales

Creación del primer gráfico

import matplotlib.pyplot as plt

# Datos simples
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 5, 3]

# Crear el gráfico
plt.plot(x, y)
plt.title("Mi primer gráfico")
plt.xlabel("Eje X")
plt.ylabel("Eje Y")
plt.grid(True)
plt.show()

Tipos de gráficos y sus usos

Gráficos de líneas (Line Plot)

Ideales para mostrar tendencias y cambios a lo largo del tiempo:

# Crear datos
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)', color='blue', linewidth=2)
plt.plot(x, y2, label='cos(x)', color='red', linestyle='--')
plt.legend()
plt.title('Funciones trigonométricas')
plt.show()

Diagramas de dispersión (Scatter Plot)

Muestran relaciones entre variables:

# Generar datos aleatorios
np.random.seed(42)
x = np.random.randn(100)
y = 2 * x + np.random.randn(100)

plt.scatter(x, y, alpha=0.6, c='purple')
plt.xlabel('Variable X')
plt.ylabel('Variable Y')
plt.title('Correlación entre X e Y')
plt.show()
                    

Recommendations