ホームページ >バックエンド開発 >Python チュートリアル >DISPLAY変数が定義されていない場合にMatplotlibでPNG画像を生成するにはどうすればよいですか?

DISPLAY変数が定義されていない場合にMatplotlibでPNG画像を生成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-30 15:20:10490ブラウズ

How to Generate PNG Images with Matplotlib When the DISPLAY Variable Is Undefined?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。