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
このグローバル設定により、スクリプト内でバックエンドを明示的に指定する必要がなくなります。
適切なバックエンドが設定されたら、設定すると、「DISPLAY unknown」エラーが発生することなく、matplotlib を使用して PNG 画像を生成できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3