0Pricing
Python Academy · Lezione

Sottografici e layout

Combinare più grafici

Sottografici e layout è una lezione Python Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Python Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Python Academy include 4 lezioni in totale.

Perché usare più grafici

Spesso un solo grafico non basta. Potrebbe voler confrontare diverse prospettive affiancate oppure suddividere un grafico complesso in pannelli più piccoli. Matplotlib definisce questa operazione come la disposizione di più axes all'interno di una figure.

Lo strumento principale è plt.subplots(rows, cols).

Una griglia di Axes

fig, axes = plt.subplots(2, 3) crea una figura con una griglia 2 per 3, che mette a disposizione sei Axes. Il risultato axes è un array bidimensionale che si indicizza come axes[0][1].

Il numero totale di pannelli è semplicemente il prodotto di righe e colonne.

rows, cols = 2, 3
total = rows * cols
print('Grid', rows, 'x', cols, '=', total, 'axes')
for r in range(rows):
    for c in range(cols):
        print('panel at', (r, c))

Indicizzare l'array degli Axes

Con una sola riga, axes è monodimensionale: usi axes[0], axes[1]. Con una griglia completa è bidimensionale: axes[row][col].

Per un singolo sottografico non è necessario alcun indice.

Iterare sui pannelli

Un modello ordinato consiste nel rendere piatta la griglia e iterare, abbinando ogni Axes ai relativi dati. In questo modo si evita di ripetere codice quasi identico per ogni pannello.

datasets = ['A', 'B', 'C', 'D']
# imagine axes flattened to a list of 4
for i, name in enumerate(datasets):
    print('Plot dataset', name, 'on flat axes index', i)

Assi condivisi

Quando i pannelli condividono una scala, passi sharex=True o sharey=True. I sottografici utilizzano così un unico intervallo comune, rendendo più equi i confronti ed eliminando le etichette delle tacche ridondanti.

È la soluzione ideale per le serie temporali impilate.

Dimensioni della figura per le griglie

Una griglia richiede più spazio di un singolo grafico. Imposti figsize=(width, height) in pollici quando chiama subplots. Una regola pratica consiste nel proporzionare le dimensioni al numero di colonne e di righe.

cols, rows = 3, 2
per_panel_w, per_panel_h = 3, 2.5
print('Suggested figsize:', (cols * per_panel_w, rows * per_panel_h))

Spaziatura tra i pannelli

I pannelli possono risultare troppo ravvicinati. fig.tight_layout() risolve automaticamente la maggior parte dei casi. Per un controllo più preciso, utilizzi fig.subplots_adjust(wspace=0.4, hspace=0.4) per impostare gli spazi orizzontali e verticali.

Valori maggiori significano più spazio tra i sottografici.

Layout irregolari con GridSpec

Non tutti i layout sono griglie uniformi. GridSpec consente a un Axes di estendersi su più righe o colonne, ad esempio con un grafico ampio in alto e due grafici più piccoli sotto.

Si definisce la griglia, poi la si indicizza come un array per posizionare ciascun Axes.

Pianificare le estensioni

Consideri le sezioni di GridSpec come intervalli. Un grafico superiore che si estende su tutte le colonne è gs[0, :]; un grafico in basso a sinistra è gs[1, 0]. Pianificare prima le sezioni su carta evita confusioni.

layout = {
    'header': '[0, :]   (full width)',
    'left':   '[1, 0]   (bottom left)',
    'right':  '[1, 1]   (bottom right)',
}
for name, slot in layout.items():
    print(name.ljust(7), slot)

Una Figure, una storia

Una figura con più pannelli dovrebbe comunque raccontare un'unica storia coerente. Utilizzi un fig.suptitle() condiviso, colori coerenti e scale condivise, così i pannelli verranno letti come un insieme e non come un collage casuale.

Personalizzazione dei singoli pannelli

Poiché ogni cella è un Axes indipendente, può personalizzarla separatamente. axes[0][0].set_title('Sales') assegna un titolo solo al pannello in alto a sinistra, mentre axes[1][1].set_ylabel('Cost') assegna un'etichetta solo a quello in basso a destra.

Questa indipendenza è esattamente il motivo per cui lo stile orientato agli oggetti dà il meglio di sé con le griglie.

Verifica rapida

Verifichi la sua comprensione dei layout a più pannelli.

Riepilogo

Ora può combinare i grafici:

  • plt.subplots(rows, cols) crea una griglia di Axes
  • Indicizzi con axes[row][col] oppure renda piatta la griglia e iteri
  • sharex/sharey allineano le scale; figsize definisce le dimensioni della griglia
  • tight_layout e subplots_adjust gestiscono la spaziatura
  • GridSpec consente di creare pannelli che si estendono su più celle

Domande Frequenti

La lezione «Sottografici e layout» è gratuita?

Sì — il testo completo di «Sottografici e layout» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Python Academy, passa a CoddyKit PRO. Il corso Python Academy include 4 lezioni in totale.

Cosa imparerò in «Sottografici e layout»?

Combinare più grafici Eserciti Python Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Python Academy?

Non è richiesta alcuna esperienza precedente. Python Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Sottografici e layout»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Python Academy?

Sì. Ogni lezione Python Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Figure e assi
  2. Grafici a linee, a barre e a dispersione
  3. Personalizzare i grafici
  4. Sottografici e layout
← Torna a Python Academy