Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencapai Plotting Masa Nyata dalam 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()
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!