MEP15: Achsenautoskalierung korrigiert, wenn Grenzwerte nur für eine Achse angegeben sind #

Status #

Diskussion

Branches und Pull-Requests #

Keine bis jetzt.

Zusammenfassung #

Wenn eine Achse eines zweidimensionalen Diagramms über set_xlimoder überschrieben wird set_ylim, sollte die automatische Skalierung der verbleibenden Achse auf den Daten basieren, die innerhalb der angegebenen Grenzen der ersten Achse liegen.

Detaillierte Beschreibung #

Wenn Achsengrenzen für ein 2D-Diagramm nur für eine Achse angegeben werden (über set_xlimoder set_ylim), skaliert matplotlib derzeit die andere Achse nicht neu. Das Ergebnis ist, dass die angezeigten Kurven oder Symbole auf einen winzigen Teil des verfügbaren Bereichs komprimiert werden können, so dass die endgültige Darstellung viel weniger Informationen vermittelt, als dies bei einer geeigneten Achsenskalierung der Fall wäre.

Die vorgeschlagene Verhaltensänderung würde dazu führen, dass matplotlib die Skala für die verbleibende Achse auswählt, indem nur die Daten verwendet werden, die innerhalb der Grenzen für die Achse liegen, für die Grenzen angegeben wurden.

Implementierung #

Ich weiß nicht genug über die Interna von Matplotlib, um eine Implementierung vorschlagen zu können.

Abwärtskompatibilität #

Aus Sicht der Softwareschnittstellen gäbe es keinen Bruch der Abwärtskompatibilität. Einige Ausgaben wären anders, aber wenn der Benutzer wirklich das vorherige Verhalten wünscht, kann er/sie dies erreichen, indem er/sie die Achsenskalierung für beide Achsen überschreibt.

Alternativen #

Die einzige Alternative, die ich sehe, ist die Beibehaltung des Status quo.