Skip to content

Matplotlibの一般的な障害:"matplotlib is currently using agg"

matplotlib is currently using agg」は、データ可視化にMatplotlibを使用する多くのPythonの愛好家が直面する問題です。このエラーメッセージは、Matplotlibがグラフィカルユーザーインターフェース(GUI)バックエンドを使用していないため、図またはプロットの表示が妨げられていることを示しています。この問題について深く掘り下げ、それを回避する方法を明らかにしていきましょう。

GUIと非GUIバックエンドの理解

問題に対処するために、GUIと非GUIバックエンドの概念を理解することが重要です。

GUIバックエンド:視覚化パワーハウス

GUI(グラフィカルユーザーインターフェース)とは、ユーザーとコンピューティングデバイスの間の対話的な媒体です。ウィンドウ、アイコン、メニューなどの視覚要素を活用して、ユーザーがデバイスとシームレスにやり取りできるようにします。Pythonでは、GUI開発のために最も頻繁に使用される方法はTkinterです。

非GUIバックエンド:テキストベースの相互作用モード

一方、非GUIバックエンドは、グラフィックを持たず、テキストベースの通信に完全に依存する機械ベースの相互作用モードです。「matplotlib is currently using agg」の警告メッセージは、Matplotlibが非GUIバックエンドを使用していることを示しています。

「matplotlib is currently using agg」という問題に対処する方法

以下に、「matplotlib is currently using agg」エラーを解決するための解決策を示します。

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

TkinterなどのGUIバックエンドをインストールすると、問題が解消されます。異なる環境でのインストール方法は以下のとおりです。

リナックス

LinuxでGUIバックエンドをインストールするには、次のコマンドを使用します。

sudo apt-get install python3-tk

Jupyterノートブック

JupyterノートブックにGUIバックエンドを導入するには、次のコマンドを実行します。

pip install tk

インストール後、次の構文を使用してTkinterライブラリをインポートします。

from tkinter import *

Anacondaディストリビューション

Anacondaユーザー向けのTkinterのインストールコマンドは以下の通りです。

conda install tk

インストール後、Tkinterライブラリを以下のようにインポートできます。

import tkinter

解決策2:別のGUIバックエンドであるPyQt5をインストールする

考慮すべき代替GUIバックエンドは、QtライブラリのPythonバインディングであるPyQt5です。 GUIアプリケーション開発でよく使用されます。PyQt5をインストールする方法は次のとおりです。

Jupyter Notebook

Jupyter NotebookでPyQt5をインストールするには、次のコマンドを使用します。

pip install pyqt5

Linux

Ubuntu LinuxまたはDebian Linuxユーザーの場合、PyQt5のインストールコマンドは次のとおりです。

sudo apt-get install python3-pyqt5

CentOS 7

CentOS 7ユーザーは、次のようにしてPyQt5をインストールできます。

yum install qt5-qtbase-devel

Redhatベースのシステム

Redhatを含むRPMベースのシステムのユーザーは、次のコマンドを使用できます。

yum install PyQt5

Anacondaディストリビューション

Anaconda Promptを使用している場合は、次のコマンドを使用します。

conda install pyqt

Matplotlibの代替:PyGWalkerを使用してデータを可視化

PandasデータフレームをビジュアライズするためにMatplotlibを使用する代わりに、データを簡単に可視化するためのオープンソースPythonライブラリであるPyGWalker (opens in a new tab)があります。

PyGWalker for Data visualization (opens in a new tab)

Pythonコーディングで複雑な処理を完成させる必要はなく、単にデータをインポートして、変数をドラッグアンドドロップするだけであらゆる種類のデータ可視化を作成できます。操作についてのクイックデモビデオは以下の通りです。


Jupyter NotebookでPyGWalkerを使用する方法は以下の通りです。

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

また、Kaggle Notebook / Google Colabで試すこともできます。

Kaggle NotebookでPyGWalkerを実行 (opens in a new tab)Google ColabでPyGWalkerを実行 (opens in a new tab)GitHubでPyGWalkerに⭐️を付ける (opens in a new tab)
Kaggle NotebookでPyGWalkerを実行 (opens in a new tab)Google ColabでPyGWalkerを実行 (opens in a new tab)GitHubでPyGWalkerに⭐️を付ける (opens in a new tab)

PyGWalkerはオープンソースコミュニティのサポートに基づいて構築されています。PyGWalker GitHub (opens in a new tab)を確認して、スターをつけてください!

結論

matplotlib is currently using agg」というエラーメッセージは最初は複雑に思えるかもしれませんが、正しい理解と適切なコマンドによりスムーズに解決できます。TkinterまたはPyQt5のような堅牢なGUIバックエンドでMatplotlibを装備することにより、データ可視化プロセスは妨げることなく継続され、Pythonの洞察力に富んだインタラクティブなプロット能力を提供します。