Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Matplotlib Savefig Saya Menghasilkan Imej Kosong?

Mengapa Matplotlib Savefig Saya Menghasilkan Imej Kosong?

Susan Sarandon
Lepaskan: 2024-11-15 08:54:02
asal
749 orang telah melayarinya

Why is My Matplotlib Savefig Producing a Blank Image?

Output Kosong dalam Kaedah Savefig Matplotlib

Dalam percubaan untuk menyimpan plot yang dijana menggunakan Matplotlib, pengguna mungkin menghadapi masalah apabila imej yang disimpan muncul kosong. Artikel ini menangani isu ini dengan meneliti coretan kod yang cuba menyimpan plot dengan berbilang subplot.

Kod yang disediakan menampilkan tiga subplot, dengan satu bersyarat berdasarkan ketersediaan pembolehubah bernama T0. Urutan kod berikut:

  1. Penciptaan angka dan subplot baharu
  2. Visualisasi data dalam subplot
  3. Panggil ke plt.show untuk memaparkan plot
  4. Panggil ke plt.savefig untuk menyimpan plot dalam format PNG

Walau bagaimanapun, imej yang disimpan (tesssttyyy.png) kekal kosong. Untuk menyelesaikan masalah ini, beberapa faktor perlu dipertimbangkan:

Kesan kewujudan T0:

  • Sahkan kelakuan kod apabila T0 bukan Tiada. Dalam kes sedemikian, subplot tambahan mungkin dibuat, yang berpotensi menjejaskan indeks subplot.

Jujukan Panggilan Fungsi:

  • plt.show( ) mencipta angka baharu. Untuk memastikan angka yang betul disimpan, adalah disyorkan untuk memanggil plt.savefig sebelum plt.show(), atau menyimpan angka secara berasingan dengan mengambil angka semasa dengan plt.gcf().

Berdasarkan atas pertimbangan ini, berikut adalah dua resolusi yang dicadangkan:

Kaedah 1:

  • Panggil plt.savefig sebelum plt.show() untuk menyimpan angka awal sebelum yang baharu dijana.
plt.savefig('tessstttyyy.png', dpi=100)
plt.show()
plt.draw()
Salin selepas log masuk

Kaedah 2:

  • Simpan angka semasa sebelum memanggil plt.show() dengan menggunakan plt.gcf().
fig1 = plt.gcf()
plt.show()
plt.draw()
fig1.savefig('tessstttyyy.png', dpi=100)
Salin selepas log masuk

Kesimpulan:

Isu imej kosong dalam kaedah savefig Matplotlib boleh diselesaikan dengan melaraskan urutan panggilan fungsi untuk memastikan angka yang betul disimpan atau dengan mengendalikan penciptaan bersyarat subplot berdasarkan ketersediaan T0.

Atas ialah kandungan terperinci Mengapa Matplotlib Savefig Saya Menghasilkan Imej Kosong?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan