Anpassen der Höhen einzelner Unterplots in Matplotlib in Python

8

wenn ich eine Reihe von Teilplots mit einer Spalte und vielen Zeilen habe, d.h.:

%Vor%

Wie kann ich die Höhe der ersten N Teilplots anpassen? Zum Beispiel, wenn ich 4 Subplots habe, jeder in seiner eigenen Zeile, möchte ich, dass alle von ihnen die gleiche Breite haben, aber die ersten 3 Subplots kürzer sind, dh ihre y-Achsen sind kleiner und nehmen weniger vom Plot ein als die Y-Achse des letzten Plots in der Reihe. Wie kann ich das tun?

danke.

    
user248237dfsf 25.07.2010, 17:04
quelle

2 Antworten

3

Es gibt mehrere Möglichkeiten, dies zu tun. Am einfachsten (und am wenigsten flexibel) ist es, einfach so etwas wie:

zu nennen %Vor%

Was wird dir so etwas geben:

Dies ist jedoch nicht sehr flexibel. Wenn Sie matplotlib & gt; = 1.0.0 verwenden, sehen Sie sich GridSpec an. Es ist ziemlich nett und ist eine viel flexiblere Art, Nebenhandlungen auszulegen.

    
Joe Kington 26.07.2010, 21:27
quelle
14

Obwohl diese Frage alt ist, wollte ich eine sehr ähnliche Frage beantworten. @ Joes Verweis auf AxesGrid , war die Antwort auf meine Frage und hat sehr < Ich wollte diese Funktionalität der Vollständigkeit halber darstellen.

AxesGrid Funktionalität bietet die Möglichkeit, Plots unterschiedlicher Größe zu erstellen und sie ganz spezifisch über zu platzieren die Funktion subplot2grid :

%Vor%

Beachten Sie, dass die maximalen Werte für row_n , col_n jeweils m-1 und n-1 sind, da die Nullindexierungsnotation verwendet wird.

Wenn wir speziell auf die Frage eingehen würden, wenn es 5 Subplots gäbe, bei denen das letzte Subplot doppelt so groß ist wie die anderen, könnten wir m=6 verwenden.

%Vor%

    
benjaminmgross 28.12.2012 15:41
quelle

Tags und Links