Cours
Matplotlib est une bibliothèque puissante pour créer des visualisations en Python. Dans les Jupyter Notebooks, DataLab ou d’autres environnements compatibles, vous pouvez utiliser Matplotlib inline pour afficher les graphiques Matplotlib directement dans le notebook, sans fenêtres supplémentaires. Pour aller plus loin sur les capacités de Matplotlib, consultez ce tutoriel sur l’utilisation de la bibliothèque Matplotlib.
Que fait Matplotlib inline ?
Matplotlib inline est une commande de backend dans les Jupyter Notebooks qui permet d’afficher les graphiques Matplotlib juste sous les cellules de code. Autrement dit, lorsque vous exécutez du code qui génère des graphiques Matplotlib, ceux-ci s’affichent en ligne dans le notebook, plutôt que dans une fenêtre séparée ou une cellule de sortie distincte.
Cet affichage en ligne est très utile lorsque vous itérez sur différentes versions d’un graphique dans un notebook. Comme la figure apparaît juste sous le code qui la génère, il est facile de voir comment vos modifications influent sur le résultat. Vous pouvez en profiter tout en appliquant les éléments standard d’un graphique, comme un titre, des étiquettes d’axes, une légende ou un code couleur.
Attention : dans certains cas, vous pouvez rencontrer des problèmes de fuite mémoire, c’est-à-dire que la mémoire n’est pas libérée entre deux tracés, ce qui peut entraîner un affichage incorrect après des modifications. Si cela vous arrive, essayez d’utiliser les méthodes .clf() et .close() pour vider la mémoire du tracé précédent avant de relancer le dessin.
Remarque importante : dans les versions actuelles de Jupyter Notebook, l’utilisation de Matplotlib inline n’est plus indispensable, car les graphiques s’affichent automatiquement. Cela reste toutefois utile, notamment lorsque vous partagez du code. Si vous utilisez la dernière version de Jupyter Notebook ou DataLab et que vous n’avez pas de code à partager, vous pouvez passer ce tutoriel et vous lancer directement dans l’apprentissage de Matplotlib.
Syntaxe et usages de Matplotlib inline avec exemples
Pour activer le mode Matplotlib inline dans un Jupyter notebook, insérez simplement la commande suivante au début du notebook :
import matplotlib
%matplotlib inline
Cette commande indique à Jupyter d’afficher les graphiques Matplotlib directement dans le notebook, plutôt que d’ouvrir une nouvelle fenêtre ou d’imposer l’enregistrement d’une figure externe. Une fois activé, vous pouvez créer et afficher vos graphiques avec Matplotlib comme d’habitude.

Exemple de %matplotlib inline dans un Jupyter Notebook
Comme indiqué plus haut, les dernières versions de Jupyter Notebooks et des IDE comme DataLab n’exigent pas d’ajouter %matplotlib inline pour voir les graphiques dans la même cellule. Néanmoins, je préfère ajouter cette ligne en tête de mes scripts, même dans ces IDE. Cela facilite le transfert du code entre systèmes et au sein de l’équipe, et réduit le risque d’erreurs inattendues si l’IDE ne se comporte plus comme prévu.
Une alternative interactive : %matplotlib notebook
Si vous souhaitez de l’interactivité dans vos graphiques en ligne, essayez la commande de backend %matplotlib notebook. Elle conserve l’affichage des graphiques dans le notebook et ajoute des interactions comme le zoom, le déplacement et l’inspection des données. Toutefois, cela peut se montrer capricieux sur certains systèmes. Si cette commande magique vous pose problème, je vous recommande d’utiliser plutôt plotly.io pour des graphiques interactifs en ligne.

Exemple de %matplotlib notebook dans un Jupyter Notebook
Intégrer %matplotlib inline avec d’autres bibliothèques de tracé
La commande %matplotlib inline ne se limite pas aux graphiques matplotlib. Elle s’intègre facilement avec d’autres bibliothèques de visualisation comme seaborn et plotly, ce qui élargit le panel de graphiques que vous pouvez créer en ligne dans votre notebook.
En combinant cette commande avec la bibliothèque seaborn, vous bénéficiez de nombreuses options supplémentaires de personnalisation.

Exemple de %matplotlib inline avec seaborn dans un Jupyter Notebook
Associée à la bibliothèque plotly, cette commande permet d’ajouter de l’interactivité, comme le zoom et le déplacement.

Exemple de %matplotlib inline avec plotly dans un Jupyter Notebook
À retenir : utilisez la commande %matplotlib inline pour activer l’affichage en ligne dans les Jupyter notebooks. Associez-la à d’autres bibliothèques de visualisation pour créer des graphiques puissants.
Bonnes pratiques d’utilisation de %matplotlib inline
Lorsque vous utilisez %matplotlib inline, gardez ces bonnes pratiques en tête :
- Ajoutez la commande matplotlib inline en tête du notebook pour garantir un affichage cohérent des graphiques tout au long du document.
- Importez bien la bibliothèque matplotlib avant d’appeler la commande.
- Si vous souhaitez afficher les graphiques dans le notebook, utilisez matplotlib inline, même si votre IDE adopte ce comportement par défaut. Cela garantira un fonctionnement fluide, notamment lorsque votre code est repris par un collègue.
- Pensez à effacer les anciens graphiques avant d’en générer de nouveaux pour éviter les fuites mémoire.
- Vérifiez que le type de graphique utilisé est adapté à vos données et au message que vous souhaitez faire passer.
Conclusion
Le mode Matplotlib inline est une fonctionnalité pratique qui améliore l’expérience d’utilisation de Matplotlib dans les Jupyter notebooks. En activant l’affichage en ligne des graphiques, il fluidifie le flux de travail pour créer, explorer et partager des insights à partir des données.
Pour en savoir plus sur les visualisations de données, découvrez Introduction to Data Visualizations with Matplotlib. Entraînez-vous à créer des graphiques avancés dans ce cours Seaborn ainsi que dans ce tutoriel sur les histogrammes avec Matplotlib.
Je suis titulaire d'un doctorat et j'ai 13 ans d'expérience dans le traitement des données dans un environnement de recherche biologique. Je crée des logiciels dans plusieurs langages de programmation, notamment Python, MATLAB et R. Je suis passionné par le partage de mon amour de l'apprentissage avec le monde.
