「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > DISPLAY変数が定義されていない場合にMatplotlibでPNG画像を生成するにはどうすればよいですか?

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

2025 年 1 月 19 日に公開
ブラウズ:270

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

このグローバル設定により、スクリプト内でバックエンドを明示的に指定する必要がなくなります。

適切なバックエンドが設定されたら、設定すると、「DISPLAY unknown」エラーが発生することなく、matplotlib を使用して PNG 画像を生成できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3