30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphiq
30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 1/25 Tutoriel Matplotlib Table des matières Matplotlib est probablement l'un des packages Python les plus utilisés pour la représentation de graphiques en 2D. Il fournit aussi bien un moyen rapide de visualiser des données grâce au langage Python, que des illustrations de grande qualité dans divers formats. 3 commentaires Article lu 152669 fois. Les deux auteur et traducteur Nicolas P. Rougier Traducteur : Raphaël Seban L'article Publié le 11 juillet 2014 - Mis à jour le 29 avril 2020 Version PDF Version hors-ligne ePub, Azw et Mobi Liens sociaux I. Présentation▲ Matplotlib est probablement l'un des packages Python les plus utilisés pour la représentation de graphiques en 2D. Il fournit aussi bien un moyen rapide de visualiser des données grâce au langage Python, que des illustrations de grande qualité dans divers formats. Nous explorerons matplotlib en console interactive et nous tenterons d'aborder les cas les plus courants. I-A. IPython et le mode pylab▲ IPython est une console interactive Python améliorée qui supporte un grand nombre de fonctionnalités très intéressantes parmi lesquelles les entrées/sorties nommées, l'utilisation directe de commandes shell, un système de débogage amélioré et bien plus encore. En lançant cette console avec l'argument -pylab (--pylab depuis IPython version 0.12), l'on dispose immédiatement d'une session matplotlib interactive avec de nombreuses fonctionnalités du type Matlab™ / Mathematica™. I-B. Pylab▲ Pylab fournit une interface procédurale à la librairie graphique matplotlib orientée objet. Elle est basée sur un modèle très proche de Matlab™. De la sorte, la grande majorité des commandes pylab ont leur équivalent Matlab™ avec des arguments similaires. Les commandes les plus importantes sont expliquées avec des exemples en console interactive. II. Graphique simple▲ Dans cette rubrique, nous voudrions tracer les fonctions sinus et cosinus sur un seul et même graphique. En partant des paramètres par défaut, nous allons améliorer la représentation étape par étape jusqu'à obtenir quelque chose de correct. Tout d'abord, récupérons les données des fonctions sinus et cosinus : Sélectionnez graduations II-G. Déplacer les axes du repère II-H. Ajouter une légende au graphique II-I. Annoter certains points remarquables II-J. Le diable se cache toujours dans les détails III. Graphiques, vues en grille, vues libres et graduations III-A. Graphiques (mathplotlib.figure) III-B. Vues en grille (matplotlib.subplot) III-C. Vues libres (matplotlib.axes) III-D. Graduations de repère III-D-1. Localisateurs de graduations (tick locators) IV. Autres types de tracés FORUMS TUTORIELS MAGAZINE FAQ BLOGS CHAT NEWSLETTER ÉTUDES EMPLOI CLUB Programmation Algorithmique 2D-3D-Jeux Assembleur C C++ D Go Kotlin Objective C Pascal Perl Python Rust Swift Qt XML FORUM PYTHON F.A.Q PYTHON TUTORIELS PYTHON SOURCES PYTHON OUTILS PYTHON LIVRES PYTHON PyQt Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives. Afin que le Club puisse rester gratuit, nous vous serions reconnaissant d'ajouter Developpez.com dans la liste d'exceptions de votre bloqueur de publicité. En utilisant ce site, vous acceptez l'utilisation de cookies permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts - J'accepte ALM Java .NET Dév. Web EDI Programmation SGBD Office Solutions d'entreprise Applications Mobiles Systèmes 30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 2/25 from pylab import * X = np.linspace(-np.pi, np.pi, 256,endpoint=True) C,S = np.cos(X), np.sin(X) X est désormais un tableau numpy comprenant 256 valeurs allant de -? à +? (inclus). C et S représentent respectivement le cosinus et le sinus de ces valeurs. Pour tester cet exemple, vous pouvez lancer une console interactive IPython : Sélectionnez $ ipython --pylab Vous obtiendrez alors un message de bienvenue ressemblant à ceci : Sélectionnez IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. Welcome to pylab, a matplotlib-based Python environment. For more information, type 'help(pylab)'. Vous pouvez aussi copier/coller le code source de chaque exemple dans un fichier et le lancer comme un script Python ordinaire, exemple : Sélectionnez $ python exercice_1.py Le code source des exercices (exercice_xx.py, …) est dissimulé par défaut. Cliquez sur l'image pour le faire apparaître à chaque étape. II-A. Paramètres par défaut▲ Documentation Tutoriel de traçage de graphique Commande plot() exercice_1.py Cacher/Afficher le codeSélectionnez Matplotlib est fournie avec un jeu de paramètres par défaut qui permet de personnaliser toute sorte de propriétés. Vous pouvez contrôler les réglages par défaut de (presque) toutes les propriétés : taille du graphique, résolution en points par pouce (dpi), épaisseur du trait, couleurs, styles, vues, repères, grilles, textes, polices de caractères, etc. Bien que les réglages par défaut répondent à la plupart des cas courants, vous pourriez être amenés à en modifier quelques-uns pour des cas plus spécifiques. Sélectionnez from pylab import * X = np.linspace(-np.pi, np.pi, 256,endpoint=True) C,S = np.cos(X), np.sin(X) plot(X,C) plot(X,S) show() II-B. Modifier les réglages par défaut▲ Documentation En utilisant ce site, vous acceptez l'utilisation de cookies permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts - J'accepte 30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 3/25 Personnaliser matplotlib exercice_2.py Cacher/Afficher le codeSélectionnez Dans le script suivant, nous modifions (et commentons) les réglages qui impactent directement l'apparence du graphique. Ces réglages ont été volontairement redéfinis à leurs valeurs par défaut, mais vous pouvez les faire varier pour voir ce que cela donne (voir les rubriques Propriétés de lignePropriétés de trait et Styles de traitStyles de trait plus bas, rubrique Références). Sélectionnez # on importe tout de matplotlib # numpy est accessible via l'alias 'np' from pylab import * # on crée un graphique de 8x6 pouces # avec une résolution de 80 points par pouce figure(figsize=(8,6), dpi=80) # on crée une nouvelle vue dans une grille de 1 ligne x 1 colonne subplot(1,1,1) X = np.linspace(-np.pi, np.pi, 256,endpoint=True) C,S = np.cos(X), np.sin(X) # on trace la fonction cosinus en bleu avec un trait plein de 1 pixel d'épaisseur plot(X, C, color="blue", linewidth=1.0, linestyle="-") # on trace la fonction sinus en vert avec un trait plein de 1 pixel d'épaisseur plot(X, S, color="green", linewidth=1.0, linestyle="-") # limites de l'axe (O,x) des abscisses xlim(-4.0,4.0) # graduations de l'axe (O,x) des abscisses xticks(np.linspace(-4,4,9,endpoint=True)) # limites de l'axe (O,y) des ordonnées ylim(-1.0,1.0) # graduations de l'axe (O,y) des ordonnées yticks(np.linspace(-1,1,5,endpoint=True)) # on enregistre le graphique avec une résolution de 72 points par pouce # savefig("exercice_2.png",dpi=72) # on affiche le résultat à l'écran show() II-C. Modifier les couleurs et épaisseurs de trait▲ Documentation Gérer les propriétés du trait API pour le trait En utilisant ce site, vous acceptez l'utilisation de cookies permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts - J'accepte 30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 4/25 exercice3.py Cacher/Afficher le codeSélectionnez Pour commencer, nous voudrions mettre la courbe cosinus en bleu, la courbe sinus en rouge et épaissir un peu le trait des deux courbes. Nous modifierons aussi, très légèrement, la taille du graphique afin que ce dernier paraisse plus horizontal, plus panoramique. Sélectionnez ... figure(figsize=(10,6), dpi=80) plot(X, C, color="blue", linewidth=2.5, linestyle="-") plot(X, S, color="red", linewidth=2.5, linestyle="-") ... II-D. Délimiter les axes du repère▲ Documentation Commande xlim() Commande ylim() exercice_4.py Cacher/Afficher le codeSélectionnez Les limites actuelles sur les axes du repère sont un peu trop serrées, nous voudrions les agrandir afin d'aérer le graphique. Sélectionnez ... xlim(X.min()*1.1, X.max()*1.1) ylim(C.min()*1.1, C.max()*1.1) ... Notez que pour une version plus robuste, nous devrions plutôt écrire : Sélectionnez xmin ,xmax = X.min(), X.max() ymin, ymax = Y.min(), Y.max() dx = (xmax - xmin) * 0.2 dy = (ymax - ymin) * 0.2 xlim(xmin - dx, xmax + dx) ylim(ymin - dy, ymax + dy) II-E. Définir les graduations▲ En utilisant ce site, vous acceptez l'utilisation de cookies permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts - J'accepte 30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 5/25 Documentation Commande xticks() Commande yticks() Conteneur de graduations Positionner et formater les graduations exercice_5.py Cacher/Afficher le codeSélectionnez Les graduations actuelles ne sont pas idéales : elles n'affichent pas les valeurs (+/-?, +/-?/2) qui nous intéressent pour sinus et cosinus. Modifions-les pour qu'elles correspondent à ces valeurs. Sélectionnez ... xticks( [-np.pi, -np.pi/2, 0, np.pi/2, np.pi]) yticks([-1, 0, +1]) ... II-F. Définir le texte des graduations▲ Documentation Travailler avec du texte Commande xticks() Commande yticks() Commande set_xticklabels() Commande set_yticklabels() exercice_6.py Cacher/Afficher le codeSélectionnez Les graduations sont bien placées, mais le contenu de leur texte n'est pas très explicite. Nous pourrions deviner que 3.142 correspond à Pi, mais ce serait beaucoup mieux de l'indiquer clairement. Lorsqu'on définit des valeurs pour les graduations, il est aussi possible de définir des étiquettes de texte correspondant à ces valeurs dans une liste fournie en second argument d'appel de fonction. Nous utiliserons une notation LaTeX pour obtenir un meilleur rendu final. Sélectionnez ... xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$']) ... En utilisant ce site, vous acceptez l'utilisation de cookies permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts - J'accepte 30/04/2020 Tutoriel Matplotlib. https://python.developpez.com/tutoriels/graphique-2d/matplotlib/ 6/25 II-G. Déplacer les axes du repère▲ Documentation Axes de repère Conteneur d'axes de repère Tutoriel sur uploads/Industriel/ tutoriel-matplotlib.pdf
Documents similaires










-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 08, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.3523MB