Matplotlib의 대표적인 장애물: 'matplotlib이 현재 agg를 사용 중입니다'
Published on
'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) 를 이용해 데이터 시각화를 할 수 있습니다.
더 이상 복잡한 형식으로 Python 코딩을 진행하지 않아도 됩니다. 데이터를 가져와서 변수를 드래그해서 다양한 데이터 시각화를 만들 수 있습니다! 이는 아래 데모 비디오에서 빠르게 보실 수 있습니다.
Jupyter Notebook에서 PyGWalker를 사용하는 방법은 다음과 같습니다.
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
대안적으로 It는 Kaggle Notebook / Google Colab에서도 사용할 수 있습니다:
PaGWalker는 우리의 오픈소스 커뮤티티의 지원으로 작성되었습니다. PyGWalker GitHub (opens in a new tab)에서 Star를 주시기 바랍니다!
마무리
"matplotlib is currently using agg"는 처음에는 위협적으로 보일 수 있지만, 적절한 이해와 올바른 명령어를 사용하면 쉽게 해결할 수 있습니다. Tkinter 또는 PyQt5와 같이 강력한 GUI 백엔드를 사용하여 Matplotlib을 장착하면 데이터 시각화 프로세스가 중단되지 않고 Python의 감각적이고 인터랙티브한 플로팅 기능을 지속적으로 확장할 수 있습니다.