Pycharm で pyplot を使用して図をプロットすると、「UserWarning: Matplotlib は現在、非 GUI バックエンドである agg を使用しているため、図を表示できません。」というメッセージが表示される 質問する

Pycharm で pyplot を使用して図をプロットすると、「UserWarning: Matplotlib は現在、非 GUI バックエンドである agg を使用しているため、図を表示できません。」というメッセージが表示される 質問する

pyplot を使用して簡単なグラフをプロットしようとしています。例:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[5,7,4])
plt.show()

しかし、図は表示されず、次のメッセージが表示されます。

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

私は、その警告に記載されている「バックエンド」を再構成するためのアドバイスをいくつか見つけて試しました。

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

しかし、次のようなエラーメッセージが表示されます:

ModuleNotFoundError: No module named 'tkinter'

このモジュールを別途インストールする必要があると思いましたが、pip install tkinter動作しません。

Collecting tkinter
  Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter

Matplotlib でグラフを表示するにはどうすればよいですか?


参照:tkinter (または turtle) が欠落しているか壊れているように見えるのはなぜですか? 標準ライブラリの一部であるべきではないですか?この質問は重複ではありません。回答では Tkinter 以外のバックエンドについても説明されているからです。

こちらもご覧ください_tkinter.TclError: 表示名と $DISPLAY 環境変数がありませんMatplotlib をリモートで使用しようとしたときに発生する問題。

ベストアンサー1

解決策1: GUIバックエンドをインストールするtk

私は自分の問題の解決策を見つけました(アーネストであることの重要性)。

私がしなければならなかったのは、tkinter次のコマンドを使用して Linux bash ターミナルからインストールすることだけでした。

sudo apt-get install python3-tk

pipPycharm の仮想環境で、または直接インストールする代わりに。

解決策2:matplotlibサポートされているGUIバックエンドのいずれかをインストールする

  • 解決策1はGUIバックエンドが得られるためうまく機能します...この場合、TkAgg
  • ただし、、、など Qt5AggGTKAggmatplolib GUIバックエンドのいずれかをインストールすることでも問題を解決できます。Qt4Agg
    • 例えば、pip install pyqt5問題も解決します

注記:

  • 通常、このエラーは、matplotlib を pip でインストールし、GUI ウィンドウにプロットを表示しようとしたときに、GUI 表示用の Python モジュールがない場合に表示されます。
  • GUI バックエンドを必要としないmatplotlib人もいるため、pypi ソフトウェアの依存関係を GUI バックエンドに依存しないように作成しました。 matplotlib

おすすめ記事