Menjana PNG dengan Matplotlib Tanpa Paparan Ditentukan
Apabila bekerja dengan matplotlib tanpa antara muka pengguna grafik (GUI), anda mungkin menghadapi ralat yang menunjukkan "tiada nama paparan dan tiada pembolehubah persekitaran $DISPLAY." Ralat ini berlaku kerana matplotlib cuba menggunakan hujung belakang berasaskan X secara lalai.
Untuk menyelesaikan isu ini bagi sistem tanpa antara muka grafik, ikut langkah berikut:
Langkah 1: Paksa Matplotlib untuk Menggunakan Agg Backend
Sebelum mengimport sebarang komponen daripada pakej matplotlib, masukkan ini kod untuk memaksa matplotlib menggunakan bahagian belakang 'Agg', yang tidak interaktif:
import matplotlib # Force matplotlib to not use any Xwindows backend. matplotlib.use('Agg')
Langkah 2: Kendalikan Amaran Berpotensi
Bergantung pada versi matplotlib, anda mungkin menerima amaran mengenai susunan pemilihan bahagian belakang. Pastikan kod ini dilaksanakan sebelum sebarang panggilan lain ke modul matplotlib.
Alternatif: Edit .matplotlibrc
Daripada menentukan bahagian belakang dalam kod, anda boleh mengubah suai konfigurasi matplotlib fail, '.matplotlibrc,' terletak di rumah pengguna direktori:
Ini akan memastikan bahawa matplotlib sentiasa menggunakan bahagian belakang 'Agg' tanpa mengira kod perintah pelaksanaan.
Contoh
Pertimbangkan kod Python berikut:
import matplotlib matplotlib.use('Agg') import networkx as nx import matplotlib.pyplot as plt G = nx.Graph() G.add_node(1) G.add_nodes_from([2, 3, 4, 5, 6, 7, 8, 9, 10]) nx.draw(G) plt.savefig("/var/www/node.png")
Dengan menambahkan 'matplotlib.use('Agg')' sebelum import networkx dan matplotlib, ralat harus diselesaikan, membolehkan anda menjana imej PNG tanpa grafik antara muka.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Imej PNG dengan Matplotlib pada Sistem Tanpa Paparan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!