Bagaimana untuk Mengemas kini Plot Matplotlib secara Dinamik tanpa Gambar Semula Lengkap?

Patricia Arquette
Lepaskan: 2024-11-13 16:39:02
asal
364 orang telah melayarinya

How to Dynamically Update Matplotlib Plots without Complete Redraws?

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan