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

Mengapa Matplotlib Savefig Saya Menghasilkan Imej Kosong?

Susan Sarandon
Susan Sarandonasal
2024-11-15 08:54:02617semak imbas

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 ialah 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()

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)

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!

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