Ich verwende die Axes-API von matplotib, um einige Zahlen zu zeichnen. Eine der Linien, die ich zeichne, repräsentiert die theoretisch erwartete Linie. Es hat keine Bedeutung außerhalb der ursprünglichen y- und x-Grenzen. Was ich will, ist für Matlplotlib, es beim Autoskalieren der Grenzen zu ignorieren. Was ich früher getan habe, ist zu überprüfen, was die aktuellen Grenzen sind, dann zu plotten und die Grenzen neu zu setzen. Das Problem ist, dass wenn ich ein drittes Diagramm plotte, die Grenzen zusammen mit der theoretischen Linie neu berechnet werden, und das wirklich das Diagramm erweitert.
%Vor% Der offensichtliche Weg besteht darin, die Grenzen manuell so zu setzen, wie Sie möchten. (z.B. ax.axis([xmin, xmax, ymin, ymax])
)
Wenn Sie sich nicht damit beschäftigen wollen, die Grenzen manuell zu finden, haben Sie ein paar Möglichkeiten ...
Wie mehrere Personen (Tillsten, Yann und Vorticity) bereits erwähnt haben, können Sie die automatische Skalierung deaktivieren, bevor Sie sie grafisch darstellen, oder die scaley=False
kwarg an plot
übergeben. p>
%Vor%
Beachten Sie, dass Sie zorder
des letzten Plots so anpassen können, dass es in der Mitte gezeichnet wird, wenn Sie die Kontrolle darüber haben wollen.
Wenn Sie nicht von der Reihenfolge abhängig sein möchten und nur eine Liste von Linien angeben möchten, auf denen automatisch skaliert werden soll, können Sie Folgendes tun: (Hinweis: Dies ist eine vereinfachte Version Re Umgang mit Line2D
Objekte, anstatt Matplotlib Künstler im Allgemeinen.)
Tags und Links python matplotlib