Wie gleiche ich die Skalen der x-Achse und der y-Achse aus?
Lesezeit: 2 Minuten
Sibbs-Glücksspiel
Wie erstelle ich ein Diagramm, in dem die Skalen von x-axis und y-axis sind gleich?
Dieses gleiche Verhältnis sollte beibehalten werden, auch wenn ich die Fenstergröße ändere. Derzeit skaliert mein Diagramm zusammen mit der Fenstergröße.
Ich habe es versucht:
plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axis('equal')
Bitte versuchen Sie, etwas weniger aggressiv zu sein, wenn Sie mit anderen auf SO interagieren. Sie erhalten Hilfe aus der Freundlichkeit der Menschen, also handeln Sie etwas weniger berechtigt.
– tacaswell
1. August 2013 um 13:57 Uhr
für 3d müssen Sie ein wenig zusätzliche Arbeit leisten: stackoverflow.com/questions/13685386/…
from matplotlib import pyplot as plt
plt.plot(range(5))
plt.xlim(-3, 3)
plt.ylim(-3, 3)
ax = plt.gca()
ax.set_aspect('equal', adjustable="box")
plt.draw()
Genial! Es funktioniert tatsächlich wie Charme. Können Sie mir bitte sagen, was plt.plot(range(5)) und plt.gca().set_aspect('equal', adjustable='box') tun, wenn es Ihnen nichts ausmacht? Außerdem merke ich das, auch wenn ich es nicht habe plt.draw(), die Handlung wird weiterhin angezeigt. Was nützt es dann?
– Sibbs-Glücksspiel
2. August 2013 um 1:43 Uhr
das plot ist nur etwas zu zeigen. Für die set_aspect Lesen Sie den Dokumentationslink. Das draw ist nur sicherzustellen, dass es gerendert wird.
– tacaswell
2. August 2013 um 1:49 Uhr
einige gefälschte Daten zum Zeichnen zu haben (es hätte eine gerade Linie zeichnen sollen).
– tacaswell
2. August 2013 um 2:08 Uhr
@perfectionm1ng keine Sorge, ich habe eine Weile gebraucht, um herauszufinden, was du gefragt hast.
– tacaswell
2. August 2013 um 2:40 Uhr
Gibt es eine Möglichkeit, dies zu erreichen, ohne die Grenzen genau angeben zu müssen? Ich hätte erwartet, dass es einen einfachen Befehl gibt, um ein quadratisches Diagramm mit der gleichen Skalierung und den gleichen Ticks für beide Achsen zu erhalten. Vielen Dank
– Verwirrt
25. Februar 2020 um 10:34 Uhr
myx
plt.axis('scaled')
funktioniert gut für mich.
Hat auch bei mir funktioniert. Stellen Sie nur sicher, dass Sie dies verwenden, bevor Sie Limits/Ticks setzen, da es automatisch neu skaliert.
– Andreas
27. Mai 2019 um 12:09 Uhr
Entschuldigung, plt.axis(‘scaled’) hat bei mir in Python 3.7 und matplotlib nicht funktioniert – matplotlib==3.1.0 Plt.axis(‘square’) hat jedoch funktioniert!
– Rishi Jain
11. Oktober 2019 um 10:15 Uhr
@rishijain ValueError: Unbekannter String im Quadrat zur Achse; an- oder ausprobieren
– Mona Dschalal
21. Januar um 18:54 Uhr
@MonaJalal ist es plt.axis('square') nicht plt.axis('squared')
Bitte versuchen Sie, etwas weniger aggressiv zu sein, wenn Sie mit anderen auf SO interagieren. Sie erhalten Hilfe aus der Freundlichkeit der Menschen, also handeln Sie etwas weniger berechtigt.
– tacaswell
1. August 2013 um 13:57 Uhr
für 3d müssen Sie ein wenig zusätzliche Arbeit leisten: stackoverflow.com/questions/13685386/…
– Trevor Boyd Smith
21. Oktober 2016 um 16:07 Uhr