Saya menggunakan matplotlib
dengan NavigationToolbar2QT
. Bilah alat menunjukkan posisi kursor. Tapi saya ingin kursor terkunci ke titik data terdekat (ketika cukup dekat) atau hanya menunjukkan koordinat titik data terdekat. Bisakah itu entah bagaimana diatur?
python
matplotlib
Pygmalion
sumber
sumber
Jawaban:
Jika Anda bekerja dengan sejumlah besar poin, saya menyarankan Anda untuk menggunakan
CKDtrees
:Saya refactored
kpie's
menjawab di sini sedikit. Setelahckdtree
dibuat, Anda dapat mengidentifikasi titik terdekat secara instan dan berbagai jenis informasi tentangnya dengan sedikit usaha:Tampilan posisi kursor interaktif. Jika Anda ingin koordinat titik terdekat ditampilkan di Bilah Alat Navigasi:
Menggunakan acara. Jika Anda ingin jenis interaktivitas lain, Anda dapat menggunakan acara:
sumber
points
setiap plot waktu diperbesar?ckdtree.data
sebagai poin realistis dengan skala = 1. Andapoints
dapat ditata ulang dan tidak ada masalah jika Anda perlu mengakses indeks mereka saja.matplotlib
? Apa yang saya temukan di web sangat rumit.matplotlib
perpustakaan. Bagaimanapun, perpustakaan telah memanggil kembali posisi titik di suatu tempat - setelah semua, itu menggambar mereka dalam plot!set_aspect
: matplotlib.org/3.1.3/api/_as_gen/…Kode berikut akan mencetak koordinat titik yang paling dekat dengan mouse saat Anda mengklik.
sumber
Anda bisa subkelas
NavigationToolbar2QT
dan menimpamouse_move
pawang. Thexdata
danydata
atribut berisi posisi mouse saat ini di koordinat petak. Anda dapat mengambil itu ke titik data terdekat sebelum melewati acara ke kelas basismouse_move
penangan .Contoh lengkap, dengan menyoroti titik terdekat dalam plot sebagai bonus:
sumber