Maison > développement back-end > Tutoriel Python > Désormais, vous pouvez contrôler les graphiques avec matplotlib, un puissant outil de dessin en Python.

Désormais, vous pouvez contrôler les graphiques avec matplotlib, un puissant outil de dessin en Python.

coldplay.xixi
Libérer: 2020-09-14 13:45:48
avant
2209 Les gens l'ont consulté

Désormais, vous pouvez contrôler les graphiques avec matplotlib, un puissant outil de dessin en Python.

Recommandations d'apprentissage associées : Tutoriel Python

Permettez-moi d'abord de vous présenter une autre bibliothèque d'analyse de données très utile —— matplotlib.



Introduction à matplotlib

Si vous le prenez au collège Si vous avez participé à un concours de modélisation mathématique ou utilisé MATLAB, vous serez plus impressionné par la fonction de dessin de ce logiciel. MATLAB peut rendre diverses fonctions et images de distribution numérique très simples et pratiques. Ce n’est pas grave si vous ne l’avez pas utilisé, c’est bon à savoir. Bien que MATLAB soit facile à utiliser, il s'agit après tout d'un logiciel payant, et de nombreuses personnes préfèrent la syntaxe de Python à celle de MATLAB.

Matlab a donc été pris en considération. Plus tard, un maître a imité l'outil de dessin dans MATLAB et a développé un outil de dessin similaire en Python. C'est de matplotlib dont nous allons parler dans l'article d'aujourd'hui. C'est également la boîte à outils de traçage la plus utilisée dans les domaines de Python, de l'analyse de données et de l'apprentissage automatique. Il y a quelque temps, le gouvernement américain a été impliqué dans quelque chose qui a poussé MATLAB à annoncer l'interdiction de l'utilisation de MATLAB dans plusieurs universités en Chine. Certaines personnes ont suggéré que nous pourrions utiliser à la place certains outils open source en Python. d'autres outils puissants dans MATLAB Function, Python ne pourra peut-être pas nécessairement le remplacer, mais au moins ce n'est pas un problème dans le domaine du graphisme.

Utilisation de base de matplotlib matplotlib est un largement populaire La raison principale est qu'il est pratique et facile à utiliser. Jetons un coup d'œil à quelques exemples classiques. Vous pouvez créer des images de très haute qualité en quelques lignes de code.

Nous utilisons la bibliothèque pyplot sous le package matplotlib. Nous pouvons également dire d'après le nom qu'il s'agit d'une bibliothèque Python. Si vous avez installé un outil complet de gestion de packages Python comme Anaconda, ce package devrait déjà être installé par défaut. Sinon, vous pouvez utiliser pip pour l'installer. La commande est également très simple.

pip install matplotlib复制代码
Copier après la connexion

Après avoir installé le package, notre utilisation habituelle est de le renommer en plt, donc si vous lisez du code source et le code d'autres maîtres, plt apparaîtra souvent lors du dessin xxx, c'est comme ça. c'est arrivé.

import matplotlib.pyplot as plt复制代码
Copier après la connexion

Il existe plusieurs outils de dessin couramment utilisés dans le tracé. Le premier consiste à créer des graphiques linéaires ou courbes, appelés tracés. Le deuxième type consiste à créer un graphique à barres appelé hist, le troisième type consiste à créer un diagramme à nuages ​​de points et est appelé nuage de points, et le quatrième type consiste à créer un gâteau graphique de. De plus, vous pouvez également créer des images en trois dimensions, mais elles sont rarement utilisées dans la vie quotidienne et sont principalement utilisées pour montrer vos compétences.

Graphique de courbe

le tracé est en fait utilisé pour créer des graphiques de courbes. La méthode utilisée consiste à dessiner des points. 🎜>Rendu, il connectera nos points de données en une courbe lisse. Bien entendu, des polylignes et des lignes droites sont également possibles. L'effet final du graphique est entièrement déterminé par nos données. Son utilisation est très simple. Dans l'utilisation la plus basique, il suffit de passer deux listes, représentant respectivement les valeurs de l'axe des x et de l'axe des y. Par exemple, nous voulons créer une image de fonction logistique. Nous pouvons faire ceci :

x = np.linspace(-10, 10, 100)y = 1 / (1 + np.exp(-x))plt.plot(x, y)plt.show()复制代码
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la fonction linspace dans numpy pour générer un tableau numpy entre -10 et 10. Il y a 100 points dans ce tableau, répartis uniformément entre -10 et 10. Nous calculons la valeur de la fonction logistique correspondante, qui est

. Je pense que tout le monde devrait être familier avec cette fonction. x est une liste de cent points, et le y correspondant est également une liste de cent points. C'est-à-dire qu'un x correspondant à un y forme une paire de points, qui représente une coordonnée dans l'image. Nous n'avons pas besoin de faire de conversion, il nous suffit de passer ces deux tableaux dans plt, et il terminera automatiquement le mappage de coordonnées pour nous. L'effet final est le suivant.

Nous pouvons voir que l'effet de dessin est assez bon. En plus de dessiner l'image complète, nous avons également dessiné des points sur l'axe de coordonnées, cela nous convient. pour visualiser les données.

l'histogramme peut être utilisé pour dessiner un

histogramme

, c'est pourquoi nous Images communes. Dans le domaine financier, nous utilisons souvent des histogrammes pour refléter la tendance d'une donnée. Dans l'analyse des données et l'apprentissage automatique, nous utilisons également souvent des histogrammes pour refléter la distribution d'une certaine caractéristique ou valeur.

在直方图当中我们只需要传入一个数组,就是我们要求分布的数组,另外我们需要再输入一个参数bins,表示我们希望将数据分桶的数量。然后它会绘制出每个桶中数据数量的直方图,这样我们就可以很直观地看出分布来了。

x = np.random.normal(size=200)plt.hist(x,bins=30)plt.show()复制代码
Copier après la connexion

这里我们调用numpy当中以正态分布概率随机的函数,得到的结果应该是正态分布的。

我们查看图像,这个结果和我们的预期基本吻合。

点状图

第三种图像叫做散点图,它反应的是每个点的分布情况。比如我们之前在介绍KNN和Kmeans模型的时候曾经都作过散点图,一个点代表一个样本,通过散点图我们观察的也是样本和数据分布的情况。但是和直方图相比它更加得直观,我们能直接看到分布,而不是一个分布的统计结果。

但是它也有缺点,缺点就是我们只能观察二维平面当中的点的分布,毕竟超过3维的维度就没办法绘制了。而且3维的数据分布也不是很好观察。

同样散点图的绘制也很简单,我们只需要调用scatter函数传入x和y的数组即可。

x = np.random.rand(100)y = np.random.rand(100)plt.scatter(x, y)复制代码
Copier après la connexion

这里我们的x和y都是随机分布,所以得到的结果是散乱没有规律的点。

饼状图

最后我们来看下饼状图,饼状图也很常用,虽然也是反映的数据分布,但是它更多是体现某一个值占的比例。通过饼状图,我们可以很直观地了解到这点。

我们可以传入一个list进入pie函数,plot会根据list当中值在总体的占比绘制饼状图。我们来看个很简单的例子:

a = np.array([0.5, 0.3, 0.2, 0.1, 0.8])plt.pie(a)复制代码
Copier après la connexion

得到的结果如下:

Par rapport aux résultats précédents, le diagramme circulaire est légèrement flou, car bien qu'il utilise différentes couleurs pour distinguer les différentes zones, il nous est difficile de voir visuellement chaque zone. représenter? Ce problème peut être résolu. Nous pouvons transmettre certains paramètres et paramètres pour lui faire afficher plus d'informations et rendre les données plus vives et plus claires.

Si vous souhaitez en savoir plus sur la programmation, faites attention à la rubrique Formation php !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:juejin.im
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal