このエラーは、DISPLAY 環境が定義されていないときに matplotlib を使用して PNG 画像を生成しようとすると発生します。変数が設定されていないか、未定義です。これは通常、サーバーやバッチ スクリプトなどのヘッドレス環境で matplotlib を実行するときに発生します。
このエラーの主な原因は、matplotlib がデフォルトで X Windows ディスプレイを必要とするバックエンドを選択することです。これを解決するには、X Windows を必要としないバックエンドを使用するように matplotlib を明示的に強制する必要があります。
解決策:
この問題を解決するには、次のコードを前に含めます。他の matplotlib モジュールをインポートします:
import matplotlib # Force matplotlib to use a backend that does not require X Windows. matplotlib.use('Agg')
これにより、バックエンドが Agg に設定されます(アンチグレイン ジオメトリ) バックエンド。X Windows ディスプレイを必要とせずに画像を生成するように設計されています。
代替ソリューション:
代替ソリューションは、 .matplotlibrc 構成ファイル内で直接バックエンドを指定します。このファイルは通常、~/.config/matplotlib ディレクトリにあります。次の行をファイルに追加します:
backend: Agg
これにより、すべての matplotlib インスタンスのバックエンドが永続的に Agg に設定されます。
重要
覚えておいてくださいこれらのソリューションは、他の matplotlib モジュールをインポートする前に実装する必要があります。 pyplot。それ以外の場合、matplotlib はすでにバックエンドを選択しており、use('Agg') ディレクティブは効果がありません。
以上が「DISPLAY が未定義の場合に matplotlib を使用して PNG を生成する」エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。