Présentation de la bibliothèque Matplotlib de Python

En tant que chercheur qui écrit régulièrement des publications, je suis souvent confronté au problème de la production de graphiques soignés. Cela n'a pas toujours été facile pour moi et je devais utiliser les outils disponibles de la meilleure façon possible, mais je n'étais pas satisfait des graphiques que je produisais la plupart du temps. Je me demandais toujours comment les autres chercheurs produisaient leurs graphiques!

Ce problème a commencé à diminuer après ma découverte de la bibliothèque de Python., matplotlib, qui produit de tels graphes soignés. Comme mentionné sur le site de la bibliothèque:

matplotlib est une bibliothèque de traçage 2D python qui produit des figures de qualité publication dans une variété de formats papier et d’environnements interactifs sur toutes les plateformes.. matplotlib peut être utilisé dans les scripts python, le shell python et ipython (par exemple, MATLAB® * ou Mathematica®), serveurs d’applications Web et six kits d’interface utilisateur graphique. matplotlib essaie de rendre les choses faciles, faciles et difficiles. Vous pouvez générer des tracés, des histogrammes, des spectres de puissance, des graphiques à barres, des diagrammes d'erreur, des diagrammes de dispersion, etc., avec seulement quelques lignes de code.. 

Dans ce tutoriel, je vais vous montrer comment installer matplotlib, et puis je vais vous montrer quelques exemples.

Si vous souhaitez approfondir votre connaissance de Python et apprendre à utiliser la puissance de Python pour gérer les données, pourquoi ne pas consulter ces deux cours:

Installer matplotlib

L'installation matplotlib est très simple. Je travaille actuellement sur un ordinateur Mac OS X, je vais donc vous montrer comment installer la bibliothèque sur ce système d'exploitation. Veuillez consulter la page d’installation de matplotlib pour plus d’informations sur l’installation. matplotlib sur d'autres systèmes d'exploitation.

matplotlib peut être installé en exécutant les commandes suivantes dans votre terminal (je vais utiliser pip, mais vous pouvez utiliser d'autres outils):

curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip installer matplotlib

C'est tout. Vous avez maintenant matplotlib opérationnel. Aussi simple que ça!

Dessiner des tracés de base

Voyons maintenant quelques exemples d'utilisation matplotlib. La première série d’exemples portera sur le dessin de parcelles de base.

Graphique linéaire

Prenons un exemple simple de dessin d'un graphique linéaire en utilisant matplotlib. Dans ce cas, nous allons utiliser matplotlib.pyplot, qui fournit un cadre de traçage de type MATLAB. En d’autres termes, il fournit une collection de fonctions de style commande permettant matplotlib travailler comme MATLAB.

Disons que nous voulions tracer une ligne pour l'ensemble de points suivant: 

x = (4,8,13,17,20) y = (54, 67, 98, 78, 45)

Cela peut être fait en utilisant le script suivant:

importer matplotlib.pyplot en tant que plt plt.plot ([4,8,13,17,20], [54, 67, 98, 78, 45]) plt.show ()

Notez que nous avons représenté le X et y points comme des listes.

Dans ce cas, le résultat sera le suivant:

La ligne dans la figure ci-dessus est la ligne par défaut qui est dessinée pour nous, en termes de forme et de couleur. Nous pouvons personnaliser cela en modifiant la forme et la couleur de la ligne en utilisant certains symboles (spécificateurs) de la documentation de tracé MATLAB. Alors disons que nous voulions dessiner un vert précipité aligner avec diamants MarqueursLes spécificateurs dont nous avons besoin dans ce cas sont: 'g - d'. Dans notre script ci-dessus, nous plaçons les spécificateurs comme suit:

plt.plot ([4,8,13,17,20], [54, 67, 98, 78, 45], 'g - d')

Dans ce cas, le tracé de la ligne de figure aura l'aspect suivant:

Nuage de points

Un nuage de points est un graphique qui montre la relation entre deux ensembles de données, telle que la relation entre l'âge et la taille. Dans cette section, je vais vous montrer comment dessiner un diagramme de dispersion en utilisant matplotlib.

Prenons deux ensembles de données, X et y, pour lequel nous voulons trouver leur relation (nuage de points):

x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72, 43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54]

Le nuage de points peut être tracé en utilisant le script suivant:

importer matplotlib.pyplot en tant que plt x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72,43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54] plt.scatter (x, y) plt.show ()

La sortie de ce script est:

Bien sûr, vous pouvez modifier la couleur des marqueurs en plus d'autres paramètres, comme indiqué dans la documentation..

Les histogrammes

Un histogramme est un graphique qui affiche la fréquence des données à l'aide de barres, où les nombres sont regroupés par plages. En d'autres termes, la fréquence de chaque élément de données de la liste est affichée à l'aide de l'histogramme. Les numéros groupés sous forme de plages sont appelés bacs. Regardons un exemple pour comprendre cela plus.

Disons que la liste des données pour lesquelles nous voulons trouver l'histogramme est la suivante:

x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89,45,3,23 2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,444,434,236,233,23,232,232,222,221,225,222,276,300,353,354,364,330,39] 

Le script Python que nous pouvons utiliser pour afficher l'histogramme des données ci-dessus est le suivant:

importer matplotlib.pyplot en tant que plt x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89 , 45,3,23,2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,443,234,234,233,23,232,224,222,221,225,222,276,300,353,354,387,3309] patches = plt.hist (x, num_bins, facecolor = 'green') plt.show ()

Lorsque vous exécutez le script, vous devriez obtenir quelque chose de similaire au graphique (histogramme) suivant:

Il y a bien sûr plus de paramètres pour la fonction hist (), comme indiqué dans la documentation.

Lectures complémentaires

Ce tutoriel était une égratignure sur la surface pour travailler avec des graphiques en Python. Il y a plus à matplotlib, et vous pouvez faire beaucoup de choses intéressantes avec cette bibliothèque. 

Si vous voulez en savoir plus sur matplotlib et voir d’autres types de figures que vous pouvez créer avec cette bibliothèque, un endroit pourrait être la section exemples du matplotlib site Internet. Il existe également quelques livres intéressants sur le sujet, tels que Mastering matplotlib et Matplotlib Plotting Cookbook. 

Conclusion

Comme nous l'avons vu dans ce didacticiel, Python peut être étendu pour effectuer des tâches intéressantes en utilisant des bibliothèques tierces. J'ai montré un exemple d'une telle bibliothèque, à savoir matplotlib

Comme je l'ai mentionné dans l'introduction de ce didacticiel, il n'était pas facile pour moi de produire des graphiques soignés, en particulier lorsque vous souhaitez présenter de tels graphiques dans des publications scientifiques.. matplotlib a donné la solution à ce problème, car vous êtes non seulement en mesure de produire facilement de beaux graphiques, mais également de contrôler (par exemple, les paramètres) ces graphiques, car vous utilisez un langage de programmation pour générer vos graphiques. notre cas, Python.