Wie man verschiedene Subplotgrößen in Matplotlib erstellt

  1. gridspec Methode
  2. gridspec_kw Methode
  3. subplot2grid-Methode

Wir könnten gridspec_kw, gridspec und subplot2grid verwenden, um verschiedene Verhältnisse von Subplots zu spezifizieren, um Subplots unterschiedlicher Größe zu erstellen.

Matplotlib Unterschiedliche Subplotgröße

gridspec Methode

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 aus dem Modul gridspec spezifiziert die Geometrie des Subplots-Grids. Wir könnten die Anzahl der Zeilen, Spalten und Layout-Parameter wie Breite und Höhenverhältnis festlegen.

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

Es gibt an, dass die Abbildung zwei Spalten und eine Zeile hat und das Breitenverhältnis 2:1 ist.

ax0 = fig.add_subplot(spec[0])

Das Objekt ax0 nimmt den Platz der Position 0 in der Geometrie ein, wie oben definiert, oder Sie könnten spec[0, 0] verwenden, um es deutlicher zu machen.

gridspec_kw Methode

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 Unterschiedliche Subplot-Größe_gridspec_kw

gridspec_kw ist das Dictionary mit Schlüsselwörtern für den GridSpec-Konstruktor, um den Gird der Subplots zu spezifizieren.

Das Breitenverhältnis wird mit 2:1 angegeben, und das Höhenverhältnis wird auf 1:2 gesetzt.

subplot2grid-Methode

subplot2grid lassen Subplots mehrere Zellen in der 0-basierten Gitterindizierung aufnehmen.

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

shape ist die Form des Gitters und hat die Folge von 2 ganzen Zahlen, deren erstes Element die Anzahl der Zeilen und das zweite die Anzahl der Spalten ist.

loc ist der Ort, an dem die Axis im Gitter platziert wird. Es ist auch die Folge von 2 ganzen Zahlen, deren erster Eintrag die Zeilenzahl und deren zweiter Eintrag die Spaltenzahl ist.

rowspan und colspan ist die Anzahl der Zeilen oder Spalten, die die Achse nach rechts (bei rowspan) oder nach unten (bei colspan) spannen soll.

Beispiel für eine Arbeitscodierung:

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 Unterschiedliche Subplotgröße_subplot2grid.png

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

Das Gitter hat die Form von (1, 5), das eine Zeile und fünf Spalten hat.

ax0 befindet sich bei (0, 0) Zelle und nimmt 3 Spalten ein, und ax1 befindet sich bei (0, 3) und nimmt die anderen beiden Spalten ein.

Verwandter Artikel - Matplotlib Subplot

  • Wie man Subplots in Matplotlib einen Titel hinzufügt
  • Hinzufügen von Subplot zu einer Abbildung in Matplotlib