Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melepaskan plot matplotlib daripada pelaksanaan kod untuk pengiraan serentak?

Bagaimana untuk melepaskan plot matplotlib daripada pelaksanaan kod untuk pengiraan serentak?

Linda Hamilton
Linda Hamiltonasal
2024-11-07 16:55:03459semak imbas

How to detach matplotlib plots from code execution for concurrent computation?

Plot Matplotlib Boleh Ceraikan untuk Pengiraan Serentak

Dalam bidang visualisasi data, penjanaan plot interaktif selalunya merupakan aspek yang penting. Matplotlib, perpustakaan Python yang popular, menawarkan keupayaan untuk mencipta plot statik dan interaktif. Walau bagaimanapun, pengguna mungkin menghadapi had apabila cuba menanggalkan plot matplotlib daripada pelaksanaan kod mereka untuk membolehkan pengiraan berterusan.

Cabaran: Mengeluarkan Plot daripada Pelaksanaan Kod

Pertimbangkan perkara berikut Coretan kod Python:

from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code

Selepas melaksanakan kod ini, tetingkap plot muncul. Walau bagaimanapun, masalahnya terletak pada keperluan untuk keluar dari tetingkap plot sebelum program boleh meneruskan pengiraan selanjutnya. Penerokaan interaktif hasil perantaraan semasa program meneruskan pengiraannya menjadi mustahil.

Penyelesaian: Gunakan Panggilan Matplotlib Tidak Menyekat

Untuk mengatasi cabaran ini, matplotlib menyediakan beberapa panggilan yang boleh digunakan tanpa menyekat pelaksanaan kod. Satu panggilan sedemikian ialah draw(). Dengan memasukkan pengubahsuaian berikut:

from matplotlib.pyplot import plot, draw, show
plot([1,2,3])
draw()
print('continue computation')

# at the end call show to ensure window won't close.
show()

Pelaksanaan kod ini membolehkan tetingkap plot dipaparkan serta-merta semasa program meneruskan tugas pengiraan yang lain. Fungsi draw() mengemas kini plot secara berkesan tanpa menyekat pelaksanaan kod.

Kaedah lain ialah menggunakan mod interaktif dalam matplotlib:

from matplotlib.pyplot import plot, ion, show
ion() # enables interactive mode
plot([1,2,3]) # result shows immediatelly (implicit draw())

print('continue computation')

# at the end call show to ensure window won't close.
show()

Mendayakan mod interaktif inmatplotlib, yang ditunjukkan oleh ion( ) panggilan, membolehkan plot untuk mengemas kini dan memaparkan dalam masa nyata semasa pengiraan berjalan, tanpa memerlukan panggilan eksplisit untuk menarik(). Panggilan show() pada penghujung memastikan tetingkap plot kekal terbuka.

Atas ialah kandungan terperinci Bagaimana untuk melepaskan plot matplotlib daripada pelaksanaan kod untuk pengiraan serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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