Ich versuche, eine Figur zu erstellen, die aus einem 2x2-Gitter besteht, wobei in jedem Quadranten zwei vertikal gestapelte Unterplots (d. H. Ein 2x1-Gitter) vorhanden sind. Ich kann jedoch nicht herausfinden, wie ich das erreichen kann.Matplotlib - Subplots zu einem Subplot hinzufügen?
Die nächste, die ich bekommen habe, ist mit gridspec und einigen hässlichen Code (siehe unten), aber weil gridspec.update(hspace=X)
den Abstand für alle Unterplots ändert, bin ich immer noch nicht wo ich sein möchte.
Idealerweise möchte ich, indem ich das Bild unten als Beispiel benutze, den Abstand zwischen den Subplots innerhalb jedes Quadranten verringern, während der vertikale Abstand zwischen den oberen und unteren Quadranten erhöht wird (dh zwischen 1-3 und 2-4).
Gibt es eine Möglichkeit, dies zu tun (mit oder ohne gridspec)? Was ich ursprünglich vorhatte, ist, jedes Sub-Subplot-Gitter (dh jedes 2x1-Gitter) zu erzeugen und es in das größere 2x2-Raster von Subplots einzufügen, aber ich habe nicht herausgefunden, wie ein Subplot zu einem Subplot hinzugefügt werden kann, wenn es gerade ist Weg.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.figure(figsize=(10, 8))
gs = gridspec.GridSpec(4,2)
gs.update(hspace=0.4)
for i in range(2):
for j in range(4):
ax = plt.subplot(gs[j,i])
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tick_params(which='both', top='off', right='off')
if j % 2 == 0:
ax.set_title(str(i+j+1))
ax.plot([1,2,3], [1,2,3])
ax.spines['bottom'].set_visible(False)
ax.get_xaxis().set_visible(False)
else:
ax.plot([1,2,3], [3,2,1])
perfekt, danke :) – user3014097