Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencapai Plotting Masa Nyata dalam Matplotlib While Loop?

Bagaimana untuk Mencapai Plotting Masa Nyata dalam Matplotlib While Loop?

DDD
Lepaskan: 2024-12-06 04:33:17
asal
1047 orang telah melayarinya

How to Achieve Real-Time Plotting in a Matplotlib While Loop?

Memplot Masa Nyata dalam Gelung Sementara dengan Matplotlib

Dalam soalan ini, pengguna cuba memplot data dalam masa nyata menggunakan OpenCV dan matplotlib. Walau bagaimanapun, perancangan masa nyata tidak berfungsi seperti yang diharapkan. Pengguna memberikan contoh ringkas yang mana plot tidak mengisi titik satu demi satu, sebaliknya menunggu sehingga gelung selesai.

Untuk menangani isu ini, kita perlu memahami cara matplotlib mengemas kini plot dalam masa nyata. Secara lalai, matplotlib menjangkakan panggilan fungsi ke plt.show() untuk memaparkan plot dan kemudian menyekat sehingga tetingkap plot ditutup. Tingkah laku ini menghalang data daripada diplot dalam masa nyata.

Penyelesaiannya ialah menggunakan fungsi plt.pause(). plt.pause(0.05) menarik data baharu, menjalankan gelung acara GUI dan menjeda plot selama 0.05 saat. Ini membolehkan plot dikemas kini dalam masa nyata dan bertindak balas kepada interaksi tetikus.

Berikut ialah kod diubah suai yang berjaya memplot 10 mata dalam masa nyata:

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 10, 0, 1])

for i in range(10):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(0.05)

plt.show()
Salin selepas log masuk

Dengan pelarasan ini, plot akan kini memaparkan setiap titik semasa ia dijana, membenarkan visualisasi masa nyata.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Plotting Masa Nyata dalam Matplotlib While Loop?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan