Matplotlib - hinzufügen von Nebenhandlungen zu einer Nebenhandlung?

Ich versuche zu schaffen, eine Figur, die aus einem 2x2 Gitter, wobei in jedem Quadranten gibt es 2 vertikal gestapelt Nebenhandlungen (d.h. ein 2x1-raster). Ich kann nicht scheinen, um herauszufinden, wie dies zu erreichen, obwohl.

Der nächste, den ich bekommen habe ist mit gridspec und einigen hässlichen code (siehe unten), aber da gridspec.update(hspace=X) ändert sich der Abstand für alle Nebenhandlungen bin ich immer noch nicht wo ich gerne sein würde.

Im Idealfall, was ich will, ist mit dem Bild unten als Beispiel, verringern Sie den Abstand zwischen den subplots innerhalb der einzelnen Quadranten, während die Erhöhung der vertikale Abstand zwischen den oberen und unteren Quadranten (also zwischen 1-3 und 2-4).

Gibt es eine Möglichkeit, dies zu tun (mit oder ohne Verwendung gridspec)? Was ich ursprünglich vorgesehen, ist das erzeugen der sub-Nebenhandlung-grids (d.h. jeder 2x1 grid) und einfügen in den größeren 2x2 raster von Nebenhandlungen, aber ich habe nicht herausgefunden, wie das hinzufügen einer Nebenhandlung einer Nebenhandlung, wenn da auch ein Weg.

Matplotlib - hinzufügen von Nebenhandlungen zu einer Nebenhandlung?

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])
InformationsquelleAutor dan_g | 2016-01-21
Schreibe einen Kommentar