1. ホーム
  2. python

pylabで図をリモートで保存する方法は?[重複しています]。

2023-11-09 07:14:09

質問内容

リモートコンピュータで図を生成するために、次のコマンドを実行しています。 pylab.savefig . しかし、私はこのようなエラーが発生しました。

Unable to access the X Display, is $DISPLAY set properly?

図を正しく保存するにはどうしたらよいですか?

どのように解決するのですか?

デフォルトでは、matplotlibは以下のようなものを使用します。 TkAgg のようなバックエンドを使用します。 これは、Xサーバが動作していることを必要とします。

Xフォワーディングを使うこともできますが、matplotlibがリモートのXサーバと接続しようとするとき、顕著な遅延が発生します。 プロットと対話する必要がない場合、X-connectionを完全に避けることによって、物事をスピードアップする方が良い場合があります。

Xサーバを全く必要とせずに描画を行いたい場合は Agg バックエンド の代わりに

例:このようにする。

import matplotlib
matplotlib.use('Agg') # Must be before importing matplotlib.pyplot or pylab!
import matplotlib.pyplot as plt

fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png')

もし、これをデフォルトの動作にしたいのであれば、あなたの matplotlibrcファイル を使用するように Agg バックエンドをデフォルトで使用します。

参照 の記事を参照してください。 .