Skip to content

Obstáculo comum do Matplotlib: 'matplotlib is currently using agg'

Updated on

'matplotlib is currently using agg' é um problema enfrentado por muitos entusiastas do Python ao trabalhar com o Matplotlib para visualização de dados. Essa mensagem de erro sugere que o Matplotlib está utilizando um backend não-gráfico (não-GUI), impedindo a exibição de figuras ou gráficos. É hora de aprofundar-se nesse problema e descobrir maneiras de contorná-lo.

Entendendo backends GUI e não-GUI

Para lidar com o problema, é importante primeiro entender o conceito de backends GUI e não-GUI.

Backend GUI: O Poderoso da Visualização

GUI, sigla para interface gráfica do usuário, é o meio interativo entre o usuário e os dispositivos de computação. Ele utiliza elementos visuais como janelas, ícones e menus, possibilitando que os usuários interajam facilmente com seus dispositivos. Em Python, Tkinter é o método mais utilizado para desenvolvimento de GUI.

Backend não-GUI: O Modo de Interação Baseado em Texto

Por outro lado, um backend não-GUI é um modo de interação com base em máquinas que opera sem gráficos, dependendo exclusivamente de comunicação baseada em texto. A mensagem de aviso 'matplotlib is currently using agg' é uma indicação de que o Matplotlib está usando um backend não-GUI.

Lidando com o problema 'matplotlib is currently using agg'

Abaixo estão as soluções para resolver o erro 'matplotlib is currently using agg'.

Solução #1: Instalar o Tkinter, um Backend GUI

A instalação de um backend GUI como o Tkinter pode solucionar a situação. Veja como instalá-lo em diferentes ambientes:

Linux

Para instalar o backend GUI no Linux, use o seguinte comando:

sudo apt-get install python3-tk

Jupyter Notebook

Para introduzir o backend GUI em um notebook Jupyter, execute:

pip install tk

Após a instalação, importe a biblioteca Tkinter usando a seguinte sintaxe:

from tkinter import *

Distribuição Anaconda

Para usuários do Anaconda, o comando de instalação do Tkinter é:

conda install tk

Uma vez instalada, a biblioteca Tkinter pode ser importada com:

import tkinter

Solução #2: Instalar o PyQt5, Outro Backend GUI

Um backend GUI alternativo a considerar é o PyQt5, uma biblioteca Python para as bibliotecas Qt, frequentemente usado no desenvolvimento de aplicativos GUI. Veja como instalar o PyQt5:

Jupyter Notebook

Use o seguinte comando para instalar o PyQt5 no Jupyter Notebook:

pip install pyqt5

Linux

Para usuários do Ubuntu Linux ou do Debian Linux, o comando de instalação do PyQt5 é:

sudo apt-get install python3-pyqt5

CentOS 7

Usuários do CentOS 7 podem instalar o PyQt5 executando:

yum install qt5-qtbase-devel

Sistema baseado em Redhat

Usuários de sistemas baseados em RPM, incluindo Redhat, podem usar:

yum install PyQt5

Distribuição Anaconda

Para aqueles que usam o Anaconda Prompt, o comando é:

conda install pyqt

Alternativa ao Matplotlib: Visualize Dados com o PyGWalker

Além de usar o Matplotlib para visualizar seu dataframe do pandas, aqui está uma biblioteca alternativa de código aberto em Python que pode ajudá-lo a criar visualizações de dados com facilidade: PyGWalker (opens in a new tab).

PyGWalker para visualização de dados (opens in a new tab)

Não há mais necessidade de realizar processamentos complicados com codificação Python, basta importar seus dados e arrastar e soltar variáveis para criar todos os tipos de visualizações de dados! Aqui está um vídeo rápido de demonstração:


Veja como usar o PyGWalker em seu notebook Jupyter:

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

Alternativamente, você pode experimentá-lo no Kaggle Notebook/Google Colab:

Executar o PyGWalker no Kaggle Notebook (opens in a new tab)Executar o PyGWalker no Google Colab (opens in a new tab)Dê uma ⭐️ ao PyGWalker no GitHub (opens in a new tab)
Executar o PyGWalker no Kaggle Notebook (opens in a new tab)Executar o PyGWalker no Google Colab (opens in a new tab)Executar o PyGWalker no Google Colab (opens in a new tab)

PyGWalker é construído com o apoio da nossa comunidade de código aberto. Não se esqueça de conferir PyGWalker no GitHub (opens in a new tab) e dar uma estrela!

Pensamentos Finais

Embora a mensagem 'matplotlib is currently using agg' possa parecer intimidante inicialmente, é um obstáculo que pode ser superado com o entendimento adequado e os comandos certos. Ao equipar o Matplotlib com um backend GUI robusto, como Tkinter ou PyQt5, o processo de visualização de dados pode continuar sem interrupções, impulsionando as capacidades do Python para gráficos informativos e interativos.