6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOSでmatplotlibが「いまAggを使ってるからfigureを出せないよ」と怒られた時の対応

Posted at

現象

CentOSでこんなコードを実行する。

test.py
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()

するとこんなエラーが出る。

$ python3 test.py
test.py:3: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
  plt.show()

対策

tkinterをインストールする。

sudo yum install python3-tkinter

すると、以後はちゃんとグラフが表示される。

$ python3 test.py

image.png

原因

CentOSのPython3は、デフォルトでnon-GUIのAggしか入っていない。tkinterを入れてやると、GUI-backendのTkAggが有効になり、それを使ってくれるようになる。

ちなみに、記事によっては

import matplotlib
matplotlib.use('TkAgg')

のように、明示的にTkAggを指定する必要があると書いてあったりするが、僕の環境(CentOS Linux release 7.8.2003)では、python3-tkinterを入れるだけで(Xが有効なら)自動的に使ってくれるようだ。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?