Obstáculo común de Matplotlib: 'matplotlib está utilizando agg'
Updated on
'matplotlib está utilizando agg' es un problema con el que se enfrentan muchos entusiastas de Python al trabajar con Matplotlib para la visualización de datos. Este mensaje de error sugiere que Matplotlib está utilizando un backend sin interfaz gráfica de usuario (GUI), lo que dificulta la visualización de figuras o gráficos. Es hora de adentrarse en este problema y descubrir las formas de solucionarlo.
Comprendiendo los backends GUI y no GUI
Para abordar el problema, es importante entender primero el concepto de los backends GUI y no GUI.
Backend GUI: El centro de visualización
GUI, que significa interfaz gráfica de usuario, es el medio interactivo entre el usuario y los dispositivos informáticos. Utiliza elementos visuales como ventanas, iconos y menús, lo que permite a los usuarios interactuar sin problemas con sus dispositivos. En Python, Tkinter es el método más utilizado para el desarrollo de GUI.
Backend no GUI: El modo de interacción basado en texto
Por otro lado, un backend no GUI es un modo de interacción basado en máquina que funciona sin gráficos, dependiendo únicamente de la comunicación basada en texto. El mensaje de advertencia 'matplotlib está utilizando agg' indica que Matplotlib está utilizando un backend no GUI.
Abordar el problema 'matplotlib está utilizando agg'
A continuación se presentan soluciones para resolver el error 'matplotlib está utilizando agg'.
Solución #1: Instalar Tkinter, un backend GUI
La instalación de un backend GUI como Tkinter puede resolver la situación. Aquí está cómo instalarlo en diferentes entornos:
Linux
Para instalar el backend GUI en Linux, utiliza el siguiente comando:
sudo apt-get install python3-tk
Jupyter Notebook
Para introducir el backend GUI en un notebook de Jupyter, ejecuta:
pip install tk
Después de la instalación, importa la biblioteca Tkinter usando la siguiente sintaxis:
from tkinter import *
Distribución de Anaconda
Para los usuarios de Anaconda, el comando de instalación de Tkinter es:
conda install tk
Una vez instalada, la biblioteca Tkinter se puede importar con:
import tkinter
Solución #2: Instalar PyQt5, otro backend GUI
Un backend GUI alternativo a considerar es PyQt5, una biblioteca de enlace de Python para las bibliotecas Qt, que se utiliza frecuentemente en el desarrollo de aplicaciones con GUI. Aquí está cómo instalar PyQt5:
Jupyter Notebook
Utiliza el siguiente comando para instalar PyQt5 en Jupyter Notebook:
pip install pyqt5
Linux
Para los usuarios de Ubuntu Linux o Debian Linux, el comando de instalación de PyQt5 es:
sudo apt-get install python3-pyqt5
CentOS 7
Los usuarios de CentOS 7 pueden instalar PyQt5 ejecutando:
yum install qt5-qtbase-devel
Sistema basado en Red Hat
Los usuarios de sistemas basados en RPM, incluyendo Red Hat, pueden usar:
yum install PyQt5
Distribución de Anaconda
Para aquellos que utilizan Anaconda Prompt, el comando es:
conda install pyqt
Alternativa a Matplotlib: visualiza datos con PyGWalker
Además de utilizar Matplotlib para visualizar tu dataframe de pandas, aquí tienes una alternativa, una biblioteca Python de código abierto que puede ayudarte a crear visualizaciones de datos con facilidad: PyGWalker (opens in a new tab).
¡Ya no es necesario realizar procesamientos complicados con programación Python, simplemente importa tus datos y arrastra y suelta variables para crear todo tipo de visualizaciones de datos! Aquí tienes un breve video demostrativo sobre su funcionamiento:
Así es cómo se utiliza PyGWalker en tu Jupyter Notebook:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Alternativamente, puedes probarlo en Kaggle Notebook/Google Colab:
PyGWalker se construye con el apoyo de nuestra comunidad de código abierto. ¡No olvides visitar PyGWalker en GitHub (opens in a new tab) y darnos una estrella!
Pensamientos finales
Aunque 'matplotlib está utilizando agg' puede parecer intimidante al principio, es un obstáculo que se puede superar fácilmente con una comprensión adecuada y los comandos correctos. Al equipar a Matplotlib con un backend GUI robusto como Tkinter o PyQt5, el proceso de visualización de datos puede continuar sin problemas, potenciando las capacidades de Python para trazar de manera perspicaz e interactiva.