Plot Tanpa Penyekatan dengan Matplotlib
Dalam Matplotlib, pelaksanaan menyekat sering berlaku apabila memplot fungsi. Ini boleh menghalang aplikasi interaktif yang memerlukan kemas kini masa nyata. Untuk menangani isu ini, adalah penting untuk memahami cara hujung belakang mempengaruhi tingkah laku menyekat dan memanfaatkan teknik yang sesuai untuk plot tanpa sekatan.
Kesan Backend pada Pelaksanaan Penyekatan
Matplotlib menggaji pelbagai bahagian belakang untuk pemaparan GUI. Walaupun sesetengah bahagian belakang, seperti Qt4Agg, menyokong perancangan tanpa sekatan, yang lain tidak. Ini bermakna penggunaan show(block=False) boleh mengakibatkan tetingkap beku atau tingkah laku yang salah bergantung pada bahagian belakang yang dipilih.
Peperiksaan Kod
Memeriksa kod yang disediakan, penggunaan show(block=False) sememangnya nampaknya menjadi punca di sebalik isu tetingkap beku. Ini kerana bahagian belakang Qt4Agg tidak menyokong mod menyekat untuk aplikasi bukan GUI.
Teknik Memplot Tanpa Menyekat
Untuk mencapai plot tanpa menyekat dalam Qt4Agg, adalah disyorkan untuk menggunakan pendekatan berikut:
Berikut ialah versi terkini kod anda yang melaksanakan teknik tidak menyekat ini:
<code class="python">import numpy as np from matplotlib import pyplot as plt def main(): plt.axis([-50,50,0,10000]) plt.ion() plt.show() x = np.arange(-50, 51) for pow in range(1,5): # plot x^1, x^2, ..., x^4 y = [Xi**pow for Xi in x] plt.plot(x, y) plt.draw() plt.pause(0.001) # Adjust this delay based on desired update frequency input("Press [enter] to continue.") if __name__ == '__main__': main()</code>
Dengan melaksanakan pengubahsuaian ini , kod tersebut akan membenarkan plot tanpa menyekat tanpa membuat tetingkap baharu untuk setiap kemas kini.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Plotting Tidak Menyekat dengan Bahagian Belakang Qt4Agg Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!