Mam wykres punktowy z grupą losowych współrzędnych x, y. Obecnie oś Y zaczyna się od 0 i wzrasta do wartości maksymalnej. Chciałbym, aby oś Y zaczynała się od wartości maksymalnej i osiągała zero.
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)
python
matplotlib
DarkAnt
źródło
źródło
Odpowiedź PrzesuniętaAussie jest poprawna, ale zwykle krótszą metodą jest po prostu odwrócenie danej osi:
gdzie
gca()
funkcja zwraca bieżącą instancję Axes i[::-1]
odwraca listę.źródło
Użyj matplotlib.pyplot.axis ()
axis([xmin, xmax, ymin, ymax])
Na koniec możesz dodać coś takiego:
Chociaż możesz chcieć dopełnienia na każdym końcu, aby skrajne punkty nie znajdowały się na granicy.
źródło
Jeśli jesteś w
pylab
trybie ipython , toshow()
jest wymagane, aby zaktualizować obecną postać.źródło
Można również użyć funkcji odsłoniętej przez obiekt osi wykresu rozrzutu
źródło
Inną podobną metodą do opisanych powyżej jest użycie
plt.ylim
na przykład:Ta metoda działa dla mnie, gdy próbuję połączyć wiele zestawów danych na Y1 i / lub Y2
źródło
użycie ylim () może być najlepszym podejściem do twojego celu:
skutkuje:
źródło
Alternatywnie możesz użyć funkcji matplotlib.pyplot.axis () , która umożliwia odwrócenie dowolnej osi wydruku
Lub jeśli wolisz odwrócić tylko oś X, to
Rzeczywiście, możesz odwrócić obie osie:
źródło
Jeśli używasz matplotlib, możesz spróbować:
matplotlib.pyplot.xlim(l, r) matplotlib.pyplot.ylim(b, t)
Te dwie linie wyznaczają odpowiednio granice osi x i y. Dla osi x pierwszy argument l ustawia najbardziej lewą wartość, a drugi argument r ustawia najbardziej prawą wartość. Dla osi y pierwszy argument b ustawia najniższą wartość, a drugi argument t ustawia najwyższą wartość.
źródło