[解決済み】「UserWarning: Matplotlibは現在非GUIバックエンドであるaggを使用しているため、図を表示できません" Pycharm上のpyplotで図を描画する場合
2022-04-15 21:46:47
質問
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.
matplotlibの設定を下記で変更しなければならないというのを何箇所かで見かけました。
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
このようにしましたが、その後、モジュールが見つからないというエラーメッセージが表示されました。
ModuleNotFoundError: No module named 'tkinter'
次に、quot;tkinter" をインストールしようとしました。
pip install tkinter
(仮想環境内)ですが、見つかりませんでした。
Collecting tkinter
Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter
なお、この作業はすべてPycharm Community Edition IDE上で仮想環境を使って行っており、OSはLinux/Ubuntu 18.04であることを明記しておく。
グラフを表示できるようにするために、この問題を解決する方法を教えてほしいです。
どのように解決するのですか?
解決策1: GUIバックエンドをインストールします。
tk
私の問題を解決する方法が見つかりました(おかげさまで アーネストであることの重要性 ).
をインストールするだけでした。
tkinter
をLinuxのbashターミナルから以下のコマンドで実行しました。
sudo apt-get install python3-tk
でインストールするのではなく
pip
またはPycharmの仮想環境に直接入れてください。
解決策2:いずれかの
matplotlib
サポートされているGUIバックエンド
-
解決策1は、GUIバックエンドを得ることができるので、うまくいきます。
TkAgg
-
しかし、次のような matplolib GUI バックエンドをインストールすることで、問題を解決することもできます。
Qt5Agg
,GTKAgg
,Qt4Agg
など-
例えば
pip install pyqt5
も修正されます。
-
例えば
NOTE
- 通常このエラーは、pip で matplotlib をインストールし、GUI ウィンドウにプロットを表示しようとしていて、GUI 表示用の Python モジュールを持っていない場合に表示されます。
-
の作者は
matplotlib
はGUIバックエンドに依存しないようにしました。 必要matplotlib
GUIバックエンドなしで。
関連
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
python implement mysql add delete check change サンプルコード
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] Python用tkinterのインストール
-
[解決済み】ImportError: Tkinter'という名前のモジュールがない