Mengemas Kini Plot Secara Dinamik dalam Matplotlib tanpa Lukisan Semula Lengkap
Apabila mengumpul data daripada port bersiri dan merancangnya, terdapat ketidakcekapan yang dikaitkan dengan kemas kini biasa kaedah. Membersihkan dan melukis semula keseluruhan plot atau menggunakan animasi bermasa mungkin tidak praktikal atau menyebabkan kelewatan. Artikel ini membentangkan pendekatan alternatif yang membenarkan kemas kini plot tambahan hanya apabila data baharu diterima.
Kemas Kini Plot Bertambah
Matplotlib menyediakan pelbagai teknik animasi, termasuk Fungsi FuncAnimation. Fungsi ini membolehkan animasi fungsi tertentu dari semasa ke semasa. Dalam kes kami, kami boleh menggunakan fungsi ini untuk menghidupkan proses pemerolehan data.
Melaksanakan Fungsi Kemas Kini
Kaedah animasi melibatkan pengubahsuaian sifat "data" bagi objek yang diplot. Daripada mengosongkan skrin atau rajah, kami hanya boleh melanjutkan sifat data dengan menambahkan titik data baharu pada yang sedia ada. Berikut ialah contoh fungsi yang melakukan ini:
import matplotlib.pyplot as plt import numpy hl, = plt.plot([], []) def update_line(hl, new_data): hl.set_xdata(numpy.append(hl.get_xdata(), new_data)) hl.set_ydata(numpy.append(hl.get_ydata(), new_data)) plt.draw()
Apabila data baharu tiba dari port bersiri, cuma panggil fungsi update_line dengan data baharu. Ini akan mengemas kini plot secara berperingkat tanpa menanggung overhed untuk melukis semula keseluruhan angka.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Plot Matplotlib secara Dinamik tanpa Gambar Semula Lengkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!