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()
etichettare le sottotrame

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()
etichettare le sottotrame

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()
a), titolo normale, c), titolo normale, b), titolo normale, d), titolo normale

Tempo di esecuzione totale dello script: (0 minuti 1.840 secondi)

Galleria generata da Sphinx-Gallery