Comment tracer des graphiques en Python avec Matplotlib –
Vous générez une énorme quantité de données quotidiennement. Une partie essentielle de l'analyse des données est la visualisation. Divers outils graphiques ont été développés au cours des dernières années. Compte tenu de la popularité de Python en tant que langage d'analyse de données, ce didacticiel se concentre sur la création de graphiques à l'aide d'une bibliothèque Python très répandue, Matplotlib.
Matplotlib est une énorme bibliothèque, ce qui peut être un peu pénible pour un débutant – même s'il en existe une assez à l'aise avec Python. Bien qu'il soit facile de générer un tracé à l'aide de quelques lignes de code, il peut être difficile de comprendre ce qui se passe réellement dans le back-end de cette bibliothèque. Ce didacticiel explique les concepts de base de Matplotlib afin que vous puissiez explorer tout son potentiel.
Commençons!
Conditions préalables
La bibliothèque que nous utiliserons dans ce didacticiel pour créer des graphiques est Python matplotlib
. Ce post suppose que vous utilisez la version 3.0.3
. Pour l'installer, exécutez la commande pip
suivante dans le terminal.
pip install matplotlib == 3.0.3
Pour vérifier la version de la bibliothèque que vous avez installée, exécutez les commandes suivantes dans l'interpréteur Python.
>>> import matplotlib
>>> print (matplotlib .__ version__)
'3.0.3'
Si vous utilisez des blocs-notes Jupyter, vous pouvez afficher des graphiques Matplotlib en ligne à l'aide de la commande magique suivante .
% matplotlib inline
Pyplot et Pylab: une note
Au cours des phases initiales de son développement, MATLAB de Mathworks a influencé John Hunter, le créateur de Matplotlib. Il existe une différence essentielle entre l'utilisation de commandes dans MATLAB et Python. Dans MATLAB, toutes les fonctions sont disponibles au niveau supérieur. En gros, si vous importiez n'importe quel élément de matplotlib.pylab
des fonctions telles que plot () [)
seraient disponibles.
Cette fonction était pratique pour ceux qui étaient habitués à MATLAB. Cependant, en Python, cela pourrait potentiellement créer un conflit avec d'autres fonctions.
Par conséquent, il est recommandé d'utiliser la source pyplot
.
de matplotlib import pyplot as plt.
Toutes les fonctions telles que plot ()
sont disponibles dans pyplot
. Vous pouvez utiliser la même fonction plot ()
en utilisant plt.plot ()
après l'importation plus tôt.
Dissection d'une parcelle de Matplotlib
La documentation de Matplotlib décrit anatomie d'une parcelle essentielle à la compréhension des diverses caractéristiques de la bibliothèque.
Les principales pièces [Matière de parcelle] sont les suivants:
- Figure: Le conteneur de la parcelle complète et ses parties
- Titre: Titre de la parcelle
- Axes: Axes X et Y (certains graphes peuvent avoir un troisième axe) aussi!)
- Légende: Contient les étiquettes de chaque parcelle
Chaque élément d'une parcelle peut être manipulé dans celui de Matplotlib, comme nous le verrons plus tard.
Sans plus attendre, créons notre première parcelle!
Créer un tracé
Créer un tracé n'est pas une tâche difficile. Commencez par importer le module pyplot
. Bien qu’il n’y ait pas de convention, il est généralement importé sous une forme plus courte & mdash plt
. Utilisez la méthode .plot ()
et fournissez une liste de nombres pour créer un tracé. Ensuite, utilisez la méthode .show ()
pour afficher le tracé.
à partir de pyplot matplotlib import as plt
plt.plot ([0,1,2,3,4])
plt.show ()
Notez que Matplotlib crée un tracé linéaire par défaut. Les nombres fournis à la méthode .plot ()
sont interprétés comme les valeurs y permettant de créer le tracé. Voici la documentation de la méthode .plot ()
que vous pourrez explorer davantage.
Maintenant que vous avez créé votre premier tracé, laissez-nous explorer différentes manières de personnaliser votre Parcelles dans Matplotlib.
Personnaliser le tracé
Discutons des personnalisations les plus courantes dans votre tracé Matplotlib. Chacune des options présentées ici est une méthode de pyplot
que vous pouvez appeler pour définir les paramètres.
-
title
: Définit le titre du graphique, passé en argument. -
ylabel
: Définit l'étiquette de l'axe des ordonnées.xlabel
peut être utilisé pour définir l'étiquette de l'axe X. -
yticks
: Définit les graduations à afficher sur l'axe des ordonnées.xticks
est l'option correspondante pour afficher les graduations sur l'axe des X. -
légende
: affiche la légende du tracé. L'argumentloc
de la méthode.legend ()
définit la position de la légende sur le graphique. L'optionbest
pour les argumentsloc
permet à Matplotlib de décider de la position la moins intrusive de la légende sur la figure.
Utilisons ces options dans notre complot.
plt. parcelle ([0,1,2,3,4]label = 'y = x')
plt.title ('Y = X Straight Line')
plt.ylabel ('Axe Y')
plt.yticks ([1,2,3,4])
plt.legend (loc = 'best')
plt.show ()
Voici la sortie du code ci-dessus. Notez qu'un titre est apparu sur la figure, l'axe des Y est libellé, le nombre de graduations sur cet axe est inférieur à celui de l'axe des X et une légende est affichée dans le coin supérieur gauche.
[1945] 19659002] Après avoir bricolé les options de base d'un graphique, créons plusieurs graphiques dans la même figure. Essayons de créer deux droites dans notre graphique.
Pour ce faire, utilisez deux fois la méthode .plot ()
avec différents ensembles de données. Vous pouvez définir l'étiquette de chaque tracé linéaire à l'aide de l'argument label
de la méthode .plot ()
pour raccourcir le code.
plt.plot ([0,1,2,3,4]) = 'y = x')
plt.plot ([0,2,4,6,8]label = 'y = 2x')
plt.title ('Deux lignes droites')
plt.legend (loc = 'best')
plt.show ()
Essayons maintenant de créer un type d’intrigue différent. Pour créer un nuage de points sur le plan XY, utilisez la méthode .scatter ()
.
plt.scatter ([1,2,3,4][5,1,4,2])
plt.show ()
Voici à quoi ressemble le diagramme de dispersion:
Un certain nombre d'autres diagrammes peuvent être créés sur Matplotlib. Vous pouvez utiliser la méthode .hist ()
pour créer un histogramme . Vous pouvez ajouter plusieurs parcelles à une figure à l'aide de la méthode .subplot ()
. Vous pouvez même créer un chemin vectoriel à l'aide du module path
de pyplot
.
Exporter des parcelles avec Matplotlib
Après avoir exploré diverses options lors de la création de parcelles avec Matplotlib, l'étape suivante est exporter les parcelles que vous avez créées. Pour enregistrer une figure en tant qu'image, vous pouvez utiliser la méthode .savefig ()
. Le nom du fichier avec le chemin du fichier doit être fourni comme argument de cette méthode.
plt.savefig ('my_figure.png')
Alors que la documentation de savefig
énumère divers arguments, les deux plus importants sont énumérés ci-dessous:
-
dpi
: Cet argument est utilisé pour définir la résolution de l'image résultante en DPI (points par pouce). -
transparent
: s'il est défini sur True, l'arrière-plan de la figure est transparent.
Le code ci-dessus enregistre une figure, mais vous devrez peut-être enregistrer plusieurs figures dans un même fichier. Matplotlib vous permet d'enregistrer plusieurs figures dans un seul fichier PDF à l'aide de la classe PdfPages
. Les étapes pour créer un fichier PDF avec plusieurs parcelles sont répertoriées ci-dessous:
- Commencez par importer la classe
PdfPages
à partir dematplotlib.backends.backend_pdf
par l'initialisation dans un fichier PDF vide. - Initialisez un objet figure à l'aide de la classe
.figure ()
et créez l'intrigue. Une fois le tracé créé, utilisez la méthode.savefig ()
de la classePdfPages
pour enregistrer la figure. - Une fois tous les chiffres ajoutés, fermez le fichier PDF à l'aide de la touche
.close ()
méthode.
Pour résumer le processus, l'extrait de code suivant crée un fichier PDF avec les deux figures que nous avons créées ci-dessus.
à partir de matplotlib.backends.backend.pdf import PdfPages.
pdf = PdfPages ('multipage.pdf')
fig1 = plt.figure ()
plt.plot ([0,1,2,3,4])
plt.close ()
pdf.savefig (fig1)
fig2 = plt.figure ()
plt.plot ([0,2,4,6,8])
plt.close ()
pdf.savefig (fig2)
pdf.close ()
Conclusion
Dans ce tutoriel, nous avons créé des parcelles de terrain en Python avec la bibliothèque matplotlib
. Nous avons discuté des concepts que vous devez savoir pour comprendre le fonctionnement de Matplotlib et vous aider à créer et à personnaliser des graphes réels. Et nous vous avons montré comment exporter vos parcelles pour les utiliser dans des scénarios réels, tels que des rapports et des présentations.
Comment créez-vous des parcelles avec Python? Laissez-nous savoir dans les commentaires ci-dessous.