Saya memiliki grafik sebar plot dengan sekelompok koordinat x, y acak. Saat ini Y-Axis mulai dari 0 dan naik ke nilai maksimal. Saya ingin Y-Axis mulai dari nilai maks dan naik ke 0.
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
Gelap
sumber
sumber
Jawaban DisplacedAussie benar, tetapi biasanya metode yang lebih pendek hanya untuk membalikkan sumbu tunggal yang dimaksud:
di mana
gca()
fungsi mengembalikan instance Axes saat ini dan[::-1]
membalik daftar.sumber
Gunakan matplotlib.pyplot.axis ()
axis([xmin, xmax, ymin, ymax])
Jadi Anda bisa menambahkan sesuatu seperti ini di akhir:
Meskipun Anda mungkin ingin melapisi di setiap ujung sehingga titik-titik ekstrim tidak duduk di perbatasan.
sumber
Jika Anda berada di ipython dalam
pylab
mode, makayang
show()
diperlukan untuk membuatnya memperbarui angka saat ini.sumber
Anda juga bisa menggunakan fungsi yang diekspos oleh objek sumbu plot sebar
sumber
Metode lain yang serupa dengan yang dijelaskan di atas adalah menggunakan
plt.ylim
misalnya:Metode ini bekerja untuk saya ketika saya mencoba untuk menggabungkan beberapa set data pada Y1 dan / atau Y2
sumber
menggunakan ylim () mungkin merupakan pendekatan terbaik untuk tujuan Anda:
akan menghasilkan:
sumber
Atau, Anda dapat menggunakan fungsi matplotlib.pyplot.axis () , yang memungkinkan Anda membalikkan salah satu sumbu plot
Atau jika Anda lebih suka hanya membalikkan sumbu X, maka
Memang, Anda dapat membalikkan kedua sumbu:
sumber
Jika menggunakan matplotlib Anda dapat mencoba:
matplotlib.pyplot.xlim(l, r) matplotlib.pyplot.ylim(b, t)
Kedua garis ini menetapkan batas sumbu x dan y masing-masing. Untuk sumbu x, argumen pertama l menetapkan nilai paling kiri, dan argumen kedua r menetapkan nilai paling kanan. Untuk sumbu y, argumen pertama b menetapkan nilai terbawah, dan argumen kedua t menetapkan nilai terbanyak.
sumber