Pembangun kerap menghadapi cabaran untuk memplot data dalam masa nyata sebagai sebahagian daripada aplikasi dipacu data. Walau bagaimanapun, isu biasa timbul apabila cuba melaksanakan plot masa nyata dalam gelung "sementara".
Pertimbangkan contoh berikut, di mana kami menyasarkan untuk memplot titik data rawak dalam masa nyata menggunakan OpenCV:
fig = plt.figure() plt.axis([0, 1000, 0, 1]) i = 0 x = list() y = list() while i < 1000: temp_y = np.random.random() x.append(i) y.append(temp_y) plt.scatter(i, temp_y) i += 1 plt.show()
Malangnya, kod ini gagal memplot mata secara individu dalam masa nyata. Sebaliknya, ia menjeda pelaksanaan atur cara sehingga gelung selesai sebelum memaparkan graf.
Kunci untuk mendayakan perancangan masa nyata terletak pada memanggil fungsi plt.pause(0.05) dalam gelung. Fungsi ini bukan sahaja mengemas kini plot dengan data terkini tetapi juga menjalankan gelung acara GUI. Ini membolehkan interaksi pengguna, memastikan plot kekal responsif dan interaktif semasa pelaksanaan gelung:
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 menggabungkan plt.pause(0.05), anda membuka kunci keupayaan untuk memplot titik data secara nyata- masa, membolehkan anda menggambarkan data anda semasa ia mengalir masuk.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Plotting Masa Nyata Dalam Gelung Sementara dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!