Skip to content
튜토리얼
Matplotlib
Overcoming the 'matplotlib is currently using agg' Issue

Matplotlib의 대표적인 장애물: 'matplotlib이 현재 agg를 사용 중입니다'

'matplotlib이 현재 agg를 사용 중입니다'는 데이터 시각화를 위해 Matplotlib을 사용하는 많은 파이썬 애호가들이 직면하는 문제입니다. 이 오류 메시지는 Matplotlib이 비 그래픽 사용자 인터페이스 (GUI) 백엔드를 활용하고 있어 그림이나 플롯을 표시할 수 없다는 것을 나타냅니다. 이 문제에 대해 자세히 알아보고 해결책을 찾아보겠습니다.

GUI 및 비 GUI 백엔드 이해하기

문제를 해결하려면 먼저 GUI 및 비 GUI 백엔드의 개념을 이해하는 것이 중요합니다.

GUI 백엔드: 시각화 파워하우스

GUI(그래픽 사용자 인터페이스)는 사용자와 컴퓨팅 디바이스 사이의 대화형 매개체입니다. 윈도우, 아이콘, 메뉴 등과 같은 시각적 요소를 활용하여 사용자가 장치와 원활하게 상호 작용할 수 있습니다. GUI 개발에서 가장 많이 사용되는 파이썬 모듈은 Tkinter입니다.

비 GUI 백엔드: 텍스트 기반 상호 작용 모드

반면, 비 GUI 백엔드는 그래픽 없이 기계 기반 상호 작용 모드로 작동합니다. 텍스트 기반 통신에만 의존합니다. 경고 메시지 'matplotlib이 현재 agg를 사용 중입니다'는 Matplotlib이 비 GUI 백엔드를 사용하고 있다는 것을 나타냅니다.

'matplotlib이 현재 agg를 사용 중입니다' 문제 해결하기

다음은 'matplotlib이 현재 agg를 사용 중입니다' 오류를 해결하는 방법입니다.

해결책 #1 : GUI 백엔드인 Tkinter 설치하기

Tkinter와 같은 GUI 백엔드를 설치하면 상황이 개선될 수 있습니다. 다양한 환경에서 설치 방법은 다음과 같습니다.

리눅스

리눅스에서 GUI 백엔드를 설치하는 방법은 다음 명령을 사용합니다.

sudo apt-get install python3-tk

Jupyter Notebook

Jupyter 노트북에서 GUI 백엔드를 소개하려면 다음을 실행합니다.

pip install tk

설치 후 다음 구문을 사용하여 Tkinter 라이브러리를 가져옵니다.

from tkinter import *

아나콘다 배포판

Anaconda 사용자를 위한 Tkinter 설치 명령어는 다음과 같습니다:

conda install tk

설치 후, Tkinter 라이브러리는 다음과 같이 불러올 수 있습니다:

import tkinter

해결책 #2: PyQt5, 다른 GUI 백엔드 설치

고려할 대안 GUI 백엔드로는 Qt 라이브러리에 대한 Python 바인딩인 PyQt5가 있으며, GUI 애플리케이션 개발에서 자주 사용됩니다. PyQt5를 설치하는 방법은 다음과 같습니다:

Jupyter Notebook

Jupyter 노트북에서 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 프롬프트를 사용하는 경우, 명령은 다음과 같습니다:

conda install pyqt

Matplotlib 대안 : PyGWalker로 데이터 시각화하기

판다스 데이터프레임 시각화를 위해 Matplotlib을 사용하는 것 외에도, 이제 더 빠르고 익숙한 오픈소스 라이브러리인 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)

대안적으로 It는 Kaggle Notebook / Google Colab에서도 사용할 수 있습니다:

Kaggle Notebook에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)PyGWalker를 star해주세요 (opens in a new tab)
Kaggle Notebook에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)PyGWalker를 star해주세요 (opens in a new tab)

PaGWalker는 우리의 오픈소스 커뮤티티의 지원으로 작성되었습니다. PyGWalker GitHub (opens in a new tab)에서 Star를 주시기 바랍니다!

마무리

"matplotlib is currently using agg"는 처음에는 위협적으로 보일 수 있지만, 적절한 이해와 올바른 명령어를 사용하면 쉽게 해결할 수 있습니다. Tkinter 또는 PyQt5와 같이 강력한 GUI 백엔드를 사용하여 Matplotlib을 장착하면 데이터 시각화 프로세스가 중단되지 않고 Python의 감각적이고 인터랙티브한 플로팅 기능을 지속적으로 확장할 수 있습니다.