Nota
Fare clic qui per scaricare il codice di esempio completo
Sottotrame di etichettatura #
L'etichettatura delle sottotrame è relativamente semplice e varia, quindi Matplotlib non ha un metodo generale per farlo.
Il più semplice è inserire l'etichetta all'interno degli assi. Nota, qui usiamo pyplot.subplot_mosaic, e usiamo le etichette delle sottotrame come chiavi per le sottotrame, il che è una bella comodità. Tuttavia, lo stesso metodo funziona con pyplot.subplotso con chiavi diverse da quelle con cui vuoi etichettare la sottotrama.
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
for label, ax in axs.items():
# label physical distance in and down:
trans = mtransforms.ScaledTranslation(10/72, -5/72, fig.dpi_scale_trans)
ax.text(0.0, 1.0, label, transform=ax.transAxes + trans,
fontsize='medium', verticalalignment='top', fontfamily='serif',
bbox=dict(facecolor='0.7', edgecolor='none', pad=3.0))
plt.show()

Potremmo preferire le etichette fuori dagli assi, ma ancora allineate tra loro, nel qual caso usiamo una trasformazione leggermente diversa:
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
for label, ax in axs.items():
# label physical distance to the left and up:
trans = mtransforms.ScaledTranslation(-20/72, 7/72, fig.dpi_scale_trans)
ax.text(0.0, 1.0, label, transform=ax.transAxes + trans,
fontsize='medium', va='bottom', fontfamily='serif')
plt.show()

Se vogliamo che sia allineato con il titolo, incorporalo nel titolo o usa l' argomento della parola chiave loc :
fig, axs = plt.subplot_mosaic([['a)', 'c)'], ['b)', 'c)'], ['d)', 'd)']],
constrained_layout=True)
for label, ax in axs.items():
ax.set_title('Normal Title', fontstyle='italic')
ax.set_title(label, fontfamily='serif', loc='left', fontsize='medium')
plt.show()

Riferimenti
L'uso delle seguenti funzioni, metodi, classi e moduli è mostrato in questo esempio:
Tempo di esecuzione totale dello script: (0 minuti 1.840 secondi)