L'obstacle courant de Matplotlib : 'matplotlib utilise actuellement agg'
Published on
'matplotlib utilise actuellement agg' est un problème auquel de nombreux enthousiastes de Python sont confrontés lorsqu'ils travaillent avec Matplotlib pour la visualisation des données. Ce message d'erreur suggère que Matplotlib utilise un backend non-graphique (GUI), ce qui entrave l'affichage des figures ou des graphiques. Il est temps de creuser ce problème et de découvrir les moyens de le contourner.
Comprendre les backends GUI et non-GUI
Pour résoudre le problème, il est d'abord important de comprendre le concept des backends GUI et non-GUI.
Backend GUI : La puissance de la visualisation
GUI, abréviation de l'interface graphique utilisateur, est le moyen interactif entre l'utilisateur et les dispositifs informatiques. Il utilise des éléments visuels tels que des fenêtres, des icônes et des menus, ce qui permet aux utilisateurs d'interagir facilement avec leurs dispositifs. En Python, Tkinter est la méthode la plus fréquemment utilisée pour le développement GUI.
Backend non-GUI : Le mode d'interaction basé sur le texte
Inversement, un backend non-GUI est un mode d'interaction basé sur la machine qui fonctionne sans graphiques, en se basant uniquement sur la communication basée sur le texte. Le message d'avertissement 'matplotlib utilise actuellement agg' indique que Matplotlib utilise un backend non-GUI.
Résolution du problème 'matplotlib utilise actuellement agg'
Voici des solutions pour résoudre l'erreur 'matplotlib utilise actuellement agg'.
Solution n°1 : Installer Tkinter, un backend GUI
Installer un backend GUI comme Tkinter peut résoudre la situation. Voici comment l'installer dans différents environnements :
Linux
Pour installer le backend GUI dans Linux, utilisez la commande suivante :
sudo apt-get install python3-tk
Jupyter Notebook
Pour introduire le backend GUI dans un notebook Jupyter, exécutez :
pip install tk
Après l'installation, importez la bibliothèque Tkinter en utilisant la syntaxe suivante :
from tkinter import *
Distribution Anaconda
Pour les utilisateurs d'Anaconda, la commande d'installation de Tkinter est la suivante :
conda install tk
Une fois installée, la bibliothèque Tkinter peut être importée avec :
import tkinter
Solution n°2 : Installer PyQt5, un autre backend GUI
Un autre backend GUI à considérer est PyQt5, une liaison Python pour les bibliothèques Qt, souvent utilisée dans le développement d'applications GUI. Voici comment installer PyQt5 :
Jupyter Notebook
Utilisez la commande suivante pour installer PyQt5 dans un notebook Jupyter :
pip install pyqt5
Linux
Pour les utilisateurs de Linux Ubuntu ou Debian, la commande d'installation de PyQt5 est :
sudo apt-get install python3-pyqt5
CentOS 7
Les utilisateurs de CentOS 7 peuvent installer PyQt5 en exécutant :
yum install qt5-qtbase-devel
Système basé sur Redhat
Les utilisateurs de systèmes RPM, y compris Redhat, peuvent utiliser :
yum install PyQt5
Distribution Anaconda
Pour ceux qui utilisent l'Invite de commandes Anaconda, la commande est :
conda install pyqt
Alternative à Matplotlib : Visualisez les données avec PyGWalker
Au lieu d'utiliser Matplotlib pour visualiser votre dataframe pandas, voici une alternative, une bibliothèque Python Open Source qui peut vous aider à créer des visualisations de données facilement : PyGWalker (opens in a new tab).
Plus besoin de réaliser un traitement complexe avec du code Python, il suffit d'importer vos données et de faire glisser-déposer des variables pour créer toutes sortes de visualisations de données ! Voici une vidéo de démonstration rapide sur son utilisation :
Voici comment utiliser PyGWalker dans votre notebook Jupyter :
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Vous pouvez également l'essayer dans Kaggle Notebook/Google Colab :
PyGWalker repose sur le soutien de notre communauté Open Source. N'oubliez pas de consulter PyGWalker GitHub (opens in a new tab) et de nous donner une étoile !
Réflexions finales
Bien que 'matplotlib utilise actuellement agg' puisse sembler intimidant au départ, c'est un obstacle qui peut être facilement surmonté avec une bonne compréhension et les bonnes commandes. En dotant Matplotlib d'un backend GUI robuste comme Tkinter ou PyQt5, le processus de visualisation des données peut se poursuivre sans entrave, alimentant les capacités de Python pour des graphiques pertinents et interactifs.