- Qu'est-ce que Python Matplotlib?
- Types de graphiques que nous pouvons construire, comme un graphique à barres, un histogramme, un nuage de points, un graphique en aires et un graphique Pe
- Travailler avec plusieurs tracés
- Quelques alternatives pour Python Matplotlib
Qu'est-ce que Python Matplotlib?
Le matplotlib.pyplot est un package de traçage de graphiques qui peut être utilisé pour construire des graphiques en 2 dimensions à l'aide du langage de programmation Python. En raison de sa nature enfichable, ce package peut être utilisé dans toutes les applications GUI, les serveurs d'applications Web ou de simples scripts Python. Certaines boîtes à outils qui étendent les fonctionnalités de Python Matplotlib sont :
- Fond de carte est une bibliothèque de traçage de cartes qui fournit des fonctionnalités pour créer des projets de cartes, des côtes et des frontières politiques
- Natgrid peut être utilisé pour quadriller des données irrégulières en données espacées
- Outils Excel peut être utilisé pour échanger des données entre MS Excel et Matplotlib
- Cartopie est une bibliothèque de cartographie très complexe qui fournit même des fonctionnalités de transformation d'image en dehors des projections de points, de lignes et de polygones
Juste une note avant de commencer est que nous utilisons un environnement virtuel pour cette leçon que nous avons fait avec la commande suivante :
python -m virtualenv matplotlibsource matplotlib/bin/activate
Une fois l'environnement virtuel actif, nous pouvons installer la bibliothèque matplotlib dans l'environnement virtuel afin que les exemples que nous créons ensuite puissent être exécutés :
pip installer matplotlibNous voyons quelque chose comme ceci lorsque nous exécutons la commande ci-dessus :
Vous pouvez également utiliser Anaconda pour exécuter ces exemples, ce qui est plus facile. Si vous souhaitez l'installer sur votre machine, regardez la leçon qui décrit "Comment installer Anaconda Python sur Ubuntu 18.04 LTS" et partagez vos commentaires. Passons maintenant aux différents types de tracés qui peuvent être construits avec Python Matplotlib.
Types de parcelles
Ici, nous démontrons les types de tracés qui peuvent être dessinés avec Python Matplotlib.
Graphique simple
Le premier exemple que nous verrons sera un simple graphique. Cet exemple est utilisé pour démontrer à quel point il est simple de construire un graphique avec les personnalisations simples qui l'accompagnent. Nous commençons par importer matplotlib et définir les coordonnées x et y que nous voulons tracer :
de matplotlib importer pyplot en tant que pltx = [3, 6, 9]
y = [2, 4, 6]
Après cela, nous pouvons tracer ces coordonnées sur le graphique et le montrer :
plt.tracer (x, y)plt.spectacle()
Lorsque nous l'exécuterons, nous verrons le graphique suivant :
Avec seulement quelques lignes de code, nous avons pu tracer un graphique. Ajoutons quelques personnalisations pour rendre ce graphique un peu plus expressif :
plt.ylabel('axe Y')
plt.xlabel('axe X')
Ajoutez les lignes de code ci-dessus juste avant d'afficher le tracé et le graphique aura désormais des étiquettes :
Nous allons faire une dernière tentative de personnalisation de ce graphique pour le rendre intuitif avec les lignes de code suivantes avant de montrer le tracé :
x1 = [3, 6, 9]y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.titre('Info')
plt.ylabel('axe Y')
plt.xlabel('axe X')
plt.plot(x1 ,y1 , 'g', label='Quarter 1', linewidth=5)
plt.plot(x2, y2, 'r', label='Quarter 2', linewidth=5)
plt.Légende()
plt.grid(True,color='k')
plt.spectacle()
Nous verrons le tracé suivant lorsque nous exécuterons l'extrait de code ci-dessus :
Remarquez ce avec quoi nous avons commencé et ce avec quoi nous avons fini, un graphique très intuitif et attrayant que vous pouvez utiliser dans vos présentations et il est fait avec du code Python pur, ce dont vous pouvez être fier !
Faire un graphique à barres
Un graphique à barres est particulièrement utile lorsque nous voulons mettre en place une comparaison avec des mesures spécifiques et limitées. Par exemple, comparer les notes moyennes des étudiants avec une seule matière est un bon cas d'utilisation. Construisons ici un graphique à barres pour le même cas d'utilisation, l'extrait de code pour cela sera :
marques_moy = [81, 92, 55, 79]physique = [68, 77, 62, 74]
plt.barre([0.25, 1.25, 2.25, 3.25], avg_marks, label="Moyenne", largeur=.5)
plt.bar([.75, 1.75, 2.75, 3.75], physique, label="Physics", color='r', width=.5)
plt.Légende()
plt.xlabel('Plage')
plt.ylabel('Marques')
plt.titre('Comparaison')
plt.spectacle()
Le graphique à barres créé avec les exemples de données ci-dessus ressemblera à ce qui suit :
Il y a plusieurs barres présentes ici pour établir une comparaison. Veuillez noter que nous avons fourni la largeur de chaque barre comme premier paramètre et que la barre est décalée de 0.5 valeurs de la précédente.
Nous pouvons combiner cette construction de graphique à barres avec la bibliothèque Pandas pour la personnaliser davantage, mais nous la couvrirons dans une leçon différente sur Pandas.
Distributions avec histogrammes
Les histogrammes sont souvent confondus avec les graphiques à barres. La différence la plus fondamentale réside dans leur cas d'utilisation. Les graphiques à barres sont utilisés pour établir des comparaisons entre les données tandis que les histogrammes sont utilisés pour décrire la distribution des données.
Par exemple, appliquons à nouveau l'exemple des notes des étudiants mais cette fois, nous ne regarderons que les notes moyennes des étudiants et comment se répartissent-elles. Voici l'extrait de code, très similaire à l'exemple précédent :
bacs = [0,10,20,30,40,50,60,70,80,90,100]notes_moy = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist(moy_marks, bins, histtype='bar', rwidth=0.8)
plt.xlabel('Plage')
plt.ylabel('Marques')
plt.titre('Comparaison')
plt.spectacle()
L'histogramme créé avec les exemples de données ci-dessus ressemblera à ce qui suit :
L'axe Y montre ici que combien d'élèves ont obtenu les mêmes notes que celles fournies pour la construction.
Faire un nuage de points
Lorsqu'il s'agit de comparer plusieurs variables et d'établir leur effet les unes sur les autres, le nuage de points est un bon moyen de présenter le même. Dans celui-ci, les données sont représentées sous forme de points avec la valeur d'une variable reflétée par l'axe horizontal et la valeur de la deuxième variable détermine la position du point sur l'axe vertical.
Regardons un extrait de code simple pour décrire la même chose :
x = [1,1.5,2,2.5,3,3.5,3.6]y = [75,8,85,9,95,10,75]
x1=[8,8.5,9,9.5,10,10.5,11]
y1=[3,35,3.7,4,45,5,52]
plt.scatter(x,y, label='10 élèves les mieux notés',color='r')
plt.scatter(x1,y1,label='10 élèves à faible score',color='b')
plt.xlabel('Marques')
plt.ylabel('Nombre d'élèves')
plt.title('Scatter Plot')
plt.Légende()
plt.spectacle()
Le nuage de points créé avec les exemples de données ci-dessus ressemblera à ce qui suit :
Parcelles de superficie
Les diagrammes de zone sont principalement utilisés pour suivre les changements de données au fil du temps. Ils sont également appelés diagrammes de pile dans divers textes. Par exemple, si l'on veut établir une représentation du temps investi par un étudiant pour chaque matière en une seule journée, voici le code avec lequel on peut faire de même :
jours = [1,2,3,4,5]physique =[2,8,6,5,7]
python = [5,4,6,4,1]
r =[7,9,4,3,1]
maths = [8,5,7,8,13]
plt.plot([],[],color='m', label='Physics', linewidth=5)
plt.plot([],[],color='c', label='Python', linewidth=5)
plt.plot([],[],color='r', label='R', linewidth=5)
plt.plot([],[],color='k', label='Math', linewidth=5)
plt.stackplot(jours, physique, python, r, math, couleurs=['g','k','r','b'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Stack Plot')
plt.Légende()
plt.spectacle()
Le graphique de zone créé avec les données d'exemple ci-dessus ressemblera à ce qui suit :
Le résultat ci-dessus établit clairement une différence de temps passé par un étudiant dans chaque matière avec un moyen clair de fournir la différence et la distribution.
Camemberts
Lorsque nous voulons diviser une partie entière en plusieurs parties et décrire la quantité occupée par chaque partie, un graphique à secteurs est un bon moyen de faire cette présentation. Il est utilisé pour afficher le pourcentage de données dans l'ensemble de données complet. Voici un extrait de code de base pour créer un simple graphique à secteurs :
labels = 'Python', 'C++', 'Ruby', 'Java'tailles = [225, 130, 245, 210]
couleurs = ['r', 'b', 'g', 'c']
exploser = (0.1, 0, 0, 0) # exploser la 1ère tranche
# Parcelle
plt.tarte(tailles, exploser=exploser, étiquettes=étiquettes, couleurs=couleurs,
autopct='%1.1f%%', shadow=True, startangle=140)
plt.axe('égal')
plt.spectacle()
Le graphique à secteurs créé avec les exemples de données ci-dessus ressemblera à ce qui suit :
Dans les sections ci-dessus, nous avons examiné divers composants graphiques que nous pouvons construire avec la bibliothèque Matplotlib pour représenter nos données sous diverses formes et établir les différences de manière intuitive tout en étant statistique.
Fonctionnalités et alternatives pour Matplotlib
L'une des meilleures fonctionnalités de matplotlib est qu'il peut fonctionner sur de nombreux systèmes d'exploitation et backends graphiques. Il prend en charge des dizaines de systèmes d'exploitation et de sorties graphiques que nous avons examinés dans cette leçon. Cela signifie que nous pouvons compter sur lui lorsqu'il s'agit de fournir un résultat dont nous avons besoin.
Il existe diverses autres bibliothèques présentes qui peuvent rivaliser avec matplotlib comme :
- Cor de mer
- comploter
- Ggplot2
Même si les bibliothèques mentionnées ci-dessus peuvent présenter des moyens avancés de décrire et de présenter les données de manière graphique, mais il n'y a aucun déni de la simplicité et de la nature efficace de la bibliothèque matplotlib.
Conclusion
Dans cette leçon, nous avons examiné divers aspects de cette bibliothèque de visualisation de données que nous pouvons utiliser avec Python pour générer de beaux graphiques intuitifs qui peuvent visualiser les données sous une forme que l'entreprise souhaite à partir d'une plate-forme. Matplotlib est l'une des bibliothèques de visualisation les plus importantes en matière d'ingénierie des données et de présentation des données sous la plupart des formes visuelles, une compétence que nous devons certainement avoir à notre actif.
Veuillez partager vos commentaires sur la leçon sur Twitter avec @sbmaggarwal et @LinuxHint.