Wie man einen quadratischen Plot mit gleichen Achsen in Matplotlib erstellt
-
set_aspect()
zur Erstellung eines quadratischen Plots mit gleichen Achsen -
axis()
Methode zur Erzeugung eines quadratischen Plots
Mit der Methode set_aspect()
können wir das Seitenverhältnis eines Diagramms einstellen, um daraus ein quadratisches Diagramm zu machen, und die Methode axis()
kann auch verwendet werden, um ein quadratisches Diagramm mit gleichen Achsen in Matplotlib zu erstellen.
set_aspect()
zur Erstellung eines quadratischen Plots mit gleichen Achsen
Wir können das Seitenverhältnis mit der Funktion matplotlib.axes.Axes.set_aspect()
einstellen. Wenn wir "equal"
als Seitenverhältnis in der Funktion verwenden, erhalten wir einen Plot mit der gleichen Skalierung von Datenpunkten zu Plot-Einheiten für die X-Achse und die Y-Achse.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
plt.xlim(-3, 3)
plt.ylim(-3, 3)
ax.set_aspect("equal", adjustable="box")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
plt.xlim(-3, 3)
plt.ylim(-3, 3)
ax.set_aspect("equal")
Es stellt sowohl die X-Achse als auch die Y-Achse auf den gleichen Bereich ein. Dann setzt ax.set_aspect('equal')
beide Achsen auf gleich.
Die obige Methode ergibt nur dann ein quadratisches Diagramm, wenn die Bereiche für beide Achsen gleich eingestellt sind. Um im allgemeinen Fall einen quadratischen Plot zu erzeugen, müssen wir das Seitenverhältnis mit dem folgenden Befehl manuell einstellen:
axes.set_aspect(1.0 / axes.get_data_ratio())
Mit axes.get_data_ratio()
erhalten wir das Verhältnis der Rohdaten des Plots. Der Wert seines Kehrwertes wird an set_aspect()
übergeben, um die Achsen gleich zu machen, ohne die Grenzen der Achsen manuell festzulegen.
Code:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y)
ax.set_aspect(1.0 / ax.get_data_ratio(), adjustable="box")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
axis()
Methode zur Erzeugung eines quadratischen Plots
Wenn wir ["square"
] als Argument an matplotlib.pyplot.axis()
übergeben, wird ein quadratischer Plot erzeugt, bei dem die Bereiche, die beide Achsen belegen, gleich der Länge im Plot sind.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y = np.sin(x)
plt.plot(x, y)
plt.axis("square")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
ax.set_aspect('equal', adjustable='datalim')
. Die vom Benutzer explizit festgelegten Achsengrenzen werden nicht eingehalten.Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInVerwandter Artikel - Matplotlib Axes
- X-Achse drehen Beschriftungstext in der Matplotlib ankreuzen
- Wie man die Schriftgröße von Tick Labels in Matplotlib einstellt
- Hinzufügen einer y-Achsenbeschriftung zur sekundären y-Achse in Matplotlib
- Wie werden logarithmische Achsen in Matplotlib gezeichnet
- Wie man Grenzen für Achsen in Matplotlib setzt