ホームページ >バックエンド開発 >Python チュートリアル >DISPLAY変数が定義されていない場合にMatplotlibでPNG画像を生成するにはどうすればよいですか?
DISPLAY が未定義の場合に Matplotlib を使用して PNG を生成する
Python では、matplotlib は静的、アニメーション化された、インタラクティブなビジュアライゼーションを作成するための一般的なライブラリです。 。ただし、環境に DISPLAY が設定されていない場合、matplotlib を使用して PNG 画像を生成しようとすると、「表示名も $DISPLAY 環境変数もありません」というエラー メッセージが表示されることがあります。このエラーは、matplotlib のデフォルトのバックエンドが X サーバーを必要とするために発生しますが、特定の環境では利用できません。
この問題に対処するには、Agg (アンチグレイン ジオメトリ) バックエンドを使用するように matplotlib を明示的に設定する必要があります。 Agg は、X サーバーを必要としない非対話型バックエンドであり、ヘッドレス環境でのイメージの作成を可能にします。
このソリューションを実装する方法は次のとおりです:
import matplotlib # Force matplotlib to use the Agg backend matplotlib.use('Agg')
これを配置しますpyplot などの他の matplotlib サブモジュールをインポートする前に、スクリプトの先頭にコードを追加します。 pyplot をインポートする前にバックエンドを Agg に設定することで、matplotlib が X を使用するバックエンドを使用しようとしないようにします。
または、.matplotlibrc 構成ファイルを変更してバックエンドを永続的に設定することもできます。バックエンド セクションで、次のように設定します。
backend : Agg
このグローバル設定により、スクリプトでバックエンドを明示的に指定する必要がなくなります。
適切なバックエンドが構成されたら、PNG を生成できます。 matplotlib を使用すると、「DISPLAY unknown」エラーが発生することなく画像を表示できます。
以上がDISPLAY変数が定義されていない場合にMatplotlibでPNG画像を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。