Volver a la lista

matplotlib — Figure y Axes

Comprenda la estructura de Figure y Axes de matplotlib y aprenda a crear gráficos de líneas, gráficos de barras y diagramas de dispersión.

Principiante
|
7min
|
Verificado (2026-07)
Progreso0/17 (0%)

matplotlib — Figure y Axes

Al finalizar este tema

Comprenderás la estructura Figure/Axes de matplotlib y podrás crear gráficos básicos por ti mismo.


¿Qué es matplotlib?

matplotlib es una biblioteca de Python para crear gráficos y diagramas. Al visualizar los datos, los patrones se vuelven mucho más evidentes que al observar solo los números.

python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()

plt es la abreviatura convencional de matplotlib.pyplot.


Figure y Axes

La estructura principal de matplotlib consta de dos elementos.

text
Figure (hoja de dibujo)
└── Axes (área del gráfico)
    ├── eje x (x-axis)
    ├── eje y (y-axis)
    ├── título (title)
    └── datos (líneas, barras, puntos...)
  • Figura: Área total de la imagen. Lienzo.
  • Ejes: Espacio donde se traza el gráfico real. Se pueden incluir varios ejes en una misma figura.
python
import matplotlib.pyplot as plt
# Creación explícita de Figure y Axes
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [10, 20, 30])
ax.set_title("My First Plot")
ax.set_xlabel("X axis")
ax.set_ylabel("Y axis")
plt.show()

plt.subplots() crea una Figura y unos Axes simultáneamente. Este es el método más recomendado.


Gráfico de líneas (Line Plot)

Se utiliza para mostrar cambios a lo largo del tiempo.

python
import matplotlib.pyplot as plt
months = ["Jan", "Feb", "Mar", "Apr", "May"]
sales = [100, 120, 90, 150, 130]
fig, ax = plt.subplots(figsize=(8, 5))
ax.plot(months, sales, marker="o", color="blue", linewidth=2)
ax.set_title("Monthly Sales")
ax.set_ylabel("Sales")
ax.grid(True, alpha=0.3)
plt.show()
  • marker="o": Marcar cada punto de datos con un círculo
  • figsize=(8, 5): 8 pulgadas de ancho, 5 pulgadas de alto
  • grid(True): Mostrar cuadrícula

Gráfico de barras

Se utiliza para realizar comparaciones por categoría.

python
import matplotlib.pyplot as plt
languages = ["Python", "JS", "Java", "C++"]
users = [30, 25, 20, 15]
fig, ax = plt.subplots()
ax.bar(languages, users, color=["#3776AB", "#F7DF1E", "#B07219", "#00599C"])
ax.set_title("Programming Language Popularity")
ax.set_ylabel("Users (%)")
plt.show()

Al pasar una lista de colores a ax.bar(), se puede asignar un color diferente a cada barra.


Gráfico de dispersión

Muestra la relación entre dos variables.

python
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(42)
x = np.random.randn(50)
y = 2 * x + np.random.randn(50) * 0.5
fig, ax = plt.subplots()
ax.scatter(x, y, alpha=0.7, color="coral")
ax.set_title("Scatter Plot Example")
ax.set_xlabel("X")
ax.set_ylabel("Y")
plt.show()

alpha=0.7 es la opacidad. Es útil cuando hay muchos puntos superpuestos.


Varios gráficos a la vez

python
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
# Primero: gráfico de líneas
axes[0].plot([1, 2, 3], [1, 4, 9])
axes[0].set_title("Line")
# Segundo: gráfico de barras
axes[1].bar(["A", "B", "C"], [5, 3, 7])
axes[1].set_title("Bar")
# Tercero: gráfico de dispersión
axes[2].scatter([1, 2, 3, 4], [4, 1, 3, 2])
axes[2].set_title("Scatter")
plt.tight_layout()
plt.show()

plt.subplots(1, 3) crea una subgráfica de 1 fila y 3 columnas. tight_layout() ajusta automáticamente el solapamiento entre los gráficos.


Guardar

python
# Guardar en archivo en lugar de mostrar en pantalla
fig.savefig("chart.png", dpi=150, bbox_inches="tight")
  • dpi=150: Resolución (predeterminada: 100)
  • bbox_inches="tight": Ajuste automático de márgenes
  • Formatos compatibles: PNG, PDF, SVG, JPG

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...