435 Stimmen

Wie man die x- oder y-Achse umkehrt

Ich habe einen Streudiagrammgraphen mit einer Reihe von zufälligen x, y-Koordinaten. Derzeit beginnt die Y-Achse bei 0 und geht bis zum maximalen Wert. Ich möchte, dass die Y-Achse beim maximalen Wert beginnt und bis 0 geht.

points = [(10,5), (5,11), (24,13), (7,8)]    
x_arr = []
y_arr = []
for x,y in points:
    x_arr.append(x)
    y_arr.append(y)
plt.scatter(x_arr,y_arr)

1 Stimmen

Die Anzahl der richtigen Antworten auf diese Fragen zeigt nur, wie verwirrend diese Bibliothek in der Anwendung ist.

0 Stimmen

@g_uint Seit mindestens 10 Jahren gibt es ein offensichtlicher Weg und das ist das Aufrufen der invert_yaxis() Methode.

2 Stimmen

@BlackJack, was für dich offensichtlich ist, könnte für jemand anderen nicht offensichtlich sein :)

15voto

Mortsde Punkte 91

Ein weiteres ähnliches Verfahren zu den oben beschriebenen ist die Verwendung von plt.ylim beispielsweise:

plt.ylim(max(y_array), min(y_array))

Dieses Verfahren funktioniert für mich, wenn ich versuche, mehrere Datensätze auf Y1 und/oder Y2 zusammenzufügen

0 Stimmen

Dies ist die einfachste Methode und sollte ganz oben sein. Hier ist eine Version für die x-Achse für alle, die den Code direkt kopieren möchten - plt.xlim(max(x_axis_array), min(x_axis_array))

8voto

Farzad Vertigo Punkte 2033

Die Verwendung von ylim() könnte der beste Ansatz für Ihren Zweck sein:

xValues = list(range(10))
quads = [x** 2 for x in xValues]
plt.ylim(max(quads), 0)
plt.plot(xValues, quads)

ergibt:Bildbeschreibung hier eingeben

1 Stimmen

Wie unterscheidet sich dies von der Antwort von @Mortsde?

3voto

Luis DG Punkte 448

Alternativ können Sie die matplotlib.pyplot.axis() Funktion verwenden, die es Ihnen ermöglicht, eine beliebige Achse des Diagramms umzukehren

ax = matplotlib.pyplot.axis()
matplotlib.pyplot.axis((ax[0],ax[1],ax[3],ax[2]))

Oder wenn Sie es vorziehen, nur die X-Achse umzukehren, dann

matplotlib.pyplot.axis((ax[1],ax[0],ax[2],ax[3]))

In der Tat können Sie beide Achsen umkehren:

matplotlib.pyplot.axis((ax[1],ax[0],ax[3],ax[2]))

0voto

Andy Turner Punkte 31

Wenn Sie matplotlib verwenden, können Sie Folgendes versuchen: matplotlib.pyplot.xlim(l, r) matplotlib.pyplot.ylim(b, t)

Mit diesen beiden Zeilen werden die Grenzen der x- und y-Achsen festgelegt. Für die x-Achse legt das erste Argument l den linksten Wert fest, und das zweite Argument r den rechtesten Wert. Für die y-Achse legt das erste Argument b den untersten Wert fest, und das zweite Argument t den obersten Wert.

0voto

DS_ShraShetty Punkte 524

Wenn wir matplotlib verwenden, können wir das Diagramm auf der umgekehrten y-Achse auf drei verschiedene Arten erstellen: 1. Durch Angabe des y-Maximalwerts als y_min und des y-Minimalwerts als y_max

plt.xlim(x_min,x_max)
plt.ylim(y_min,y_max)
plt.xlim(0, 80)
plt.ylim(100, 0)
  1. Angabe der Achsen

    plt.axis([x_min, x_max, y_min, y_max]) plt.axis([0, 80, 100, 0])

3. Verwendung der gca() Funktion von matplotlib und Aufruf der invert_yaxis() Funktion

ax = plt.gca()
ax.invert_yaxis()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X