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
pip
Pycharm の仮想環境で、または直接インストールする代わりに。
解決策2:matplotlib
サポートされているGUIバックエンドのいずれかをインストールする
- 解決策1はGUIバックエンドが得られるためうまく機能します...この場合、
TkAgg
- ただし、、、など
Qt5Agg
のGTKAgg
matplolib GUIバックエンドのいずれかをインストールすることでも問題を解決できます。Qt4Agg
- 例えば、
pip install pyqt5
問題も解決します
- 例えば、
注記:
- 通常、このエラーは、matplotlib を pip でインストールし、GUI ウィンドウにプロットを表示しようとしたときに、GUI 表示用の Python モジュールがない場合に表示されます。
- GUI バックエンドを必要としない
matplotlib
人もいるため、pypi ソフトウェアの依存関係を GUI バックエンドに依存しないように作成しました。matplotlib