Wie gleiche ich die Skalen der x-Achse und der y-Achse aus?

Lesezeit: 2 Minuten

Benutzeravatar von Sibbs Gambling
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/…

    – Trevor Boyd Smith

    21. Oktober 2016 um 16:07 Uhr

Benutzeravatar von tacaswell
Tacaswell

Verwenden Axes.set_aspect auf folgende Art:

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

Benutzeravatar von myx
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')

    – Peer

    3. September um 22:12 Uhr

Sehen die Dokumentation an plt.axis(). Dies:

plt.axis('equal')

funktioniert nicht, weil es die Grenzen der Achse ändert, damit Kreise kreisförmig erscheinen. Was Sie wollen, ist:

plt.axis('square')

Dadurch wird ein quadratisches Diagramm mit gleichen Achsen erstellt.

Benutzeravatar von Dman2
Dman2

Versuchen Sie etwas wie:

import pylab as p
p.plot(x,y)
p.axis('equal')
p.show()

Sie können das Diagramm auf ein Quadrat ausdehnen, indem Sie Folgendes verwenden:

fig = plt.figure(figsize=(1, 1))

1430340cookie-checkWie gleiche ich die Skalen der x-Achse und der y-Achse aus?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy