Crea diverse dimensioni di sottotrama in Matplotlib

  1. Metodo gridspec per impostare diverse dimensioni della sottotrama Matplotlib
  2. Metodo gridspec_kw
  3. Metodo subplot2grid per impostare diverse dimensioni di sottotrama Matplotlib

Potremmo usare gridspec_kw, gridspec e subplot2grid per specificare diversi rapporti di sottotrame per creare diverse dimensioni di sottotrame in Matplotlib.

Matplotlib Diverse dimensioni sottotrama

Metodo gridspec per impostare diverse dimensioni della sottotrama Matplotlib

import matplotlib.pyplot as plt
from matplotlib import gridspec

fig = plt.figure()
spec = gridspec.GridSpec(ncols=2, nrows=1,
                         width_ratios=[2, 1])

ax0 = fig.add_subplot(spec[0])
ax0.plot(range(5), range(5, 10))
ax1 = fig.add_subplot(spec[1])
ax1.plot(range(5), range(5, 10))

plt.show()

GridSpec dal modulo gridspec specifica la geometria della griglia delle sottotrame. Potremmo impostare il numero di righe, colonne e parametri di layout come il rapporto larghezza e altezza.

spec = gridspec.GridSpec(ncols=2, nrows=1,
                         width_ratios=[2, 1])

Specifica che la figura ha due colonne e una riga e il rapporto di larghezza è 2:1.

ax0 = fig.add_subplot(spec[0])

L’oggetto ax0 prende il posto della posizione 0 nella geometria come definito sopra, oppure puoi usare spec[0, 0] per renderlo più chiaro.

Metodo gridspec_kw

import matplotlib.pyplot as plt

fig, ax = plt.subplots(2, 2, 
                       gridspec_kw={
                           'width_ratios': [2, 1],
                           'height_ratios': [1, 2]})

ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))

plt.show()

Matplotlib Diversa sottotrama Size_gridspec_kw

gridspec_kw è il dizionario con le parole chiave per il costruttore GridSpec per specificare gird delle sottotrame.

Il rapporto di larghezza è specificato come 2:1 e il rapporto di altezza è impostato su 1:2.

Metodo subplot2grid per impostare diverse dimensioni di sottotrama Matplotlib

subplot2grid consente alle sottotrame di prendere più celle nell’indicizzazione della griglia basata su 0.

def subplot2grid(shape, 
                 loc, 
                 rowspan=1, 
                 colspan=1, 
                 fig=None, 
                 **kwargs):

shape è la forma della griglia e ha la sequenza di 2 numeri interi il cui primo elemento è il numero di righe e il secondo è il numero di colonne.

loc è la posizione in cui posizionare l’asse nella griglia. È anche la sequenza di 2 numeri interi la cui prima voce è il numero di riga e il secondo elemento è il numero di colonna.

rowspan e colspan sono il numero di righe o colonne che l’asse deve estendersi a destra (per rowspan) o in basso (per colspan).

Esempio di codifica funzionante:

import matplotlib.pyplot as plt

fig = plt.figure()

ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)

ax0.plot(range(5), range(5, 10))
ax1.plot(range(5), range(10, 5, -1))

plt.show()

Matplotlib Different Subplot Size_subplot2grid.png

ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)

La griglia ha la forma di (1, 5) con una riga e cinque colonne.

ax0 è posto nella cella (0, 0) e prende tre colonne, e ax1 è posto in (0, 3) e prende le altre due colonne.

Articolo correlato - Matplotlib Subplot

  • Aggiungi titolo alle sottotrame in Matplotlib