Matplotlib - Fixieren der x-Achse und der autoskalierten Y-Achse

8

Ich möchte nur einen Teil des Arrays plotten, indem ich x part fixiere, aber y autoscale lassen lasse. Ich habe versucht, wie unten gezeigt, aber es funktioniert nicht.

Irgendwelche Vorschläge?

%Vor%     
Pygmalion 05.04.2015, 19:59
quelle

2 Antworten

5

Autoscaling verwendet immer den gesamten Datenbereich, so dass die y-Achse mit dem vollen Umfang der y-Daten skaliert wird und nicht nur, was innerhalb der x-Grenzen liegt.

Wenn Sie eine Teilmenge der Daten anzeigen möchten, ist es wahrscheinlich am einfachsten, nur diese Teilmenge zu plotten:

%Vor%     
Joe Kington 06.04.2015, 00:14
quelle
9

Joe Kington schlägt sicherlich die vernünftigste Antwort vor, wenn er empfiehlt, dort nur die notwendigen Daten zu plotten sind Situationen, in denen es am besten wäre, alle Daten zu plotten und nur auf einen bestimmten Bereich zu zoomen. Außerdem wäre es schön, eine "autoscale_y" -Funktion zu haben, die nur das Achsenobjekt benötigt (dh im Gegensatz zur Antwort hier , was eine direkte Verwendung der Daten erfordert.)

Hier ist eine Funktion, die die y-Achse basierend auf den Daten im sichtbaren x-Bereich neu skaliert:

%Vor%

Dies ist etwas wie ein Hack und wird wahrscheinlich nicht in vielen Situationen funktionieren, aber für eine einfache Handlung funktioniert es gut.

Hier ist ein einfaches Beispiel mit dieser Funktion:

%Vor%

    
DanHickstein 29.01.2016 22:01
quelle

Tags und Links