Tengo una figura que contiene muchas subtramas.
fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k')
fig.canvas.set_window_title('Window Title')
# Returns the Axes instance
ax = fig.add_subplot(311)
ax2 = fig.add_subplot(312)
ax3 = fig.add_subplot(313)
¿Cómo puedo añadir títulos a las subtramas?
fig.suptitle
añade un título a todos los gráficos y aunque existe ax.set_title()
, éste no añade ningún título a mis subplots.
Gracias por su ayuda.
Editar:
Corregida la errata sobre set_title()
. Gracias Rutger Kassies
ax.set_title()
debe establecer los títulos de los subplots separados:
import matplotlib.pyplot as plt
if __name__ == "__main__":
data = [1, 2, 3, 4, 5]
fig = plt.figure()
fig.suptitle("Title for whole figure", fontsize=16)
ax = plt.subplot("211")
ax.set_title("Title for first plot")
ax.plot(data)
ax = plt.subplot("212")
ax.set_title("Title for second plot")
ax.plot(data)
plt.show()
¿Puedes comprobar si este código te funciona? ¿Tal vez algo los sobrescribe después?
ax.title.set_text('My Plot Title')
parece que también funciona.
fig = plt.figure()
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)
ax1.title.set_text('First Plot')
ax2.title.set_text('Second Plot')
ax3.title.set_text('Third Plot')
ax4.title.set_text('Fourth Plot')
plt.show()
[]
Una respuesta abreviada asumiendo
importar matplotlib.pyplot como plt
:
plt.gca().set_title('title')
como en:
plt.subplot(221)
plt.gca().set_title('title')
plt.subplot(222)
etc...
Entonces no hay necesidad de variables superfluas.