Cómo añadir título a las subtramas en Matplotlib

Suraj Joshi 30 enero 2023
  1. El método Set_title() para añadir el título a la subtrama en Matplotlib
  2. title.set_text() método para poner el título en subtramas en Matplotlib
  3. plt.gca().set_title() / plt.gca.title.set_text() para establecer el título en subtramas en Matplotlib
Cómo añadir título a las subtramas en Matplotlib

Usamos los métodos set_title(label) y title.set_text(label) para añadir títulos a las subtramas en Matplotlib.

El método Set_title() para añadir el título a la subtrama en Matplotlib

Usamos el método matplotlib.axes._axes.Axes.set_title(label) para establecer el título (cadena label) para la subtrama actual Axes.

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [2, 4, 6]

a = np.linspace(0, 5, 100)

figure, axes = plt.subplots(nrows=2, ncols=2)


axes[0, 0].plot(x, y)

axes[0, 1].plot(a, np.sin(a))
axes[1, 0].plot(a, np.cos(a))
axes[1, 1].plot(range(10))

axes[0, 0].set_title("subplot 1")

axes[0, 1].set_title("subplot 2")
axes[1, 0].set_title("subplot 3")
axes[1, 1].set_title("subplot 4")

plt.show()

figure.tight_layout()

Producción:

set_title para añadir el título a la subtrama en Matplotlib

Si queremos hacer un bucle sobre algunas subtramas y mostrarlas una a una junto con los títulos, podemos usar el siguiente código más corto:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 2, figsize=(6, 8))
x = [1, 2, 3]
y = [2, 4, 6]


for i in range(len(ax)):
    for j in range(len(ax[i])):
        ax[i, j].plot(x, y)
        ax[i, j].set_title("Title-" + str(i) + str(j))

plt.show()

fig.tight_layout()

Producción:

set_title para añadir el título a la subtrama en Matplotlib - método de bucle

title.set_text() método para poner el título en subtramas en Matplotlib

También podemos añadir título a los subtramas en Matplotlib usando el método title.set_text() de forma similar al método set_title().

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [2, 4, 6]

a = np.linspace(0, 5, 100)

figure, axes = plt.subplots(nrows=2, ncols=2)


axes[0, 0].plot(x, y)

axes[0, 1].plot(a, np.sin(a))
axes[1, 0].plot(a, np.cos(a))
axes[1, 1].plot(range(10))

axes[0, 0].title.set_text("subplot 1")

axes[0, 1].title.set_text("subplot 2")
axes[1, 0].title.set_text("subplot 3")
axes[1, 1].title.set_text("subplot 4")

plt.show()

figure.tight_layout()

Producción:

title.set_text Método para añadir título a la subtrama en Matplotlib

plt.gca().set_title() / plt.gca.title.set_text() para establecer el título en subtramas en Matplotlib

Si usa el estilo Matlab en el trazado interactivo, entonces podría usar plt.gca() para obtener la referencia de los ejes actuales del subtrama y combinar el método set_title() o title.set_text() para establecer el título de los subtramas en Matplotlib.

import matplotlib.pyplot as plt

plt.subplots(2, 2)
x = [1, 2, 3]
y = [2, 4, 6]


for i in range(4):
    plt.subplot(2, 2, i + 1)
    plt.plot(x, y)
    plt.gca().set_title("Title-" + str(i))

plt.show()

plt.tight_layout()

o,

import matplotlib.pyplot as plt

plt.subplots(2, 2)
x = [1, 2, 3]
y = [2, 4, 6]


for i in range(4):
    plt.subplot(2, 2, i + 1)
    plt.plot(x, y)
    plt.gca().title.set_text("Title-" + str(i))

plt.show()

plt.tight_layout()
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Matplotlib Subplot