Première introduction à Matplotlib
Exploration initiale de Matplotlib
L'exemple vient de ce livre : "Python Programming from Introduction to Practical Practice" [US] Eric Matthes
Utilisation du dessin pyplot, méthode d'importation généraleimport matplotlib.pyplot as plt
Les codes suivants sont exécutés dans Jupyter Notebook
Graphique linéaire
Regardons d'abord un exemple simple
import matplotlib.pyplot as plt in_values = [1, 2 ,3, 4, 5] squares = [1, 4, 9 ,16, 25]# 第一个参数是X轴输入,第二个参数是对应的Y轴输出;linewidth绘制线条的粗细plt.plot(in_values, squares, linewidth=4)# 标题、X轴、Y轴plt.title('Squares', fontsize=20) plt.xlabel('Value', fontsize=12) plt.ylabel('Square of the value', fontsize=12)# plt.tick_params(axis='both', labelsize=15)plt.show()
Comme le montre l'image ci-dessous, vous pouvez voir que l'axe des x est trop dense et comporte même des décimales.
Si vous souhaitez que seules nos valeurs d'échantillon apparaissent sur l'axe des x, vous pouvez utiliser la fonction tick_params
pour modifier la taille des graduations. Décommentez l'avant-dernière ligne du code ci-dessus pour obtenir l'image ci-dessous.
plt.tick_params(axis='both', labelsize=15)
, où axis=both
représente l'échelle qui affecte à la fois les axes x et y labelsize
spécifie la taille de la police de l'échelle. plus grand et s'affiche à la même longueur. Moins il y a de points de coordonnées, et vice versa. Puisque labelsize
est plus grand que la valeur par défaut, le nombre de points de coordonnées affichés sur les axes x et y devient plus petit. Plus conforme à cet exemple.
Nuage de points
Toujours l'exemple carré ci-dessus. Cette fois, tracé à l'aide d'un nuage de points.
in_values = [1, 2 ,3, 4, 5] squares = [1, 4, 9 ,16, 25]# s参数为点的大小plt.scatter(in_values, squares, s=80) plt.title('Squares', fontsize=20) plt.xlabel('Value', fontsize=12) plt.ylabel('Square of the value', fontsize=12) plt.tick_params(axis='both', labelsize=15) plt.show()
Comme vous pouvez le voir, je viens de remplacer plt.plot
par plt.scatter
, et le reste du code est fondamentalement inchangé.
S'il y a de nombreux points d'entrée et de sortie, des compréhensions de liste peuvent être utilisées. Parallèlement, vous pouvez préciser la couleur des points et la couleur du contour des points. La couleur du point par défaut est le bleu et le contour est noir.
x_values = list(range(1, 100)) y_values = [x**2 for x in x_values]# c参数指定点的颜色,轮廓的颜色不进行设置(none)plt.scatter(x_values, y_values, c='red', edgecolors='none' ,s=5)# x、y轴的坐标范围,注意提供一个列表,前两个是x轴的范围,后两个是y轴的范围plt.axis([0, 110, 0, 11000]) plt.show()
La personnalisation des couleurs peut également utiliser le mode RVB et passer un tuple au paramètre c. Le tuple contient trois nombres compris entre [0, 1], représentant respectivement (R, V, B). Plus le nombre est proche de 0, plus la couleur est claire, et plus le nombre est proche de 1, plus la couleur est foncée. Par exemple, c=(0, 0 , 0.6)
représente une couleur bleu clair.
C’est toujours une image carrée, donc j’ai la flemme d’écrire un titre.
Carte de couleurs
Une carte de couleurs est généralement un dégradé d'une série de couleurs. En visualisation, le mappage des couleurs peut refléter les modèles de données. Par exemple, les couleurs plus claires ont des valeurs plus petites et les couleurs plus foncées ont des valeurs plus grandes.
Regardez un exemple très simple, un mappage basé sur la taille de la valeur des coordonnées de l'axe y.
x_values = list(range(1, 100)) y_values = [x**2 for x in x_values]# 颜色映射,按照y轴的值从浅到深,颜色采用蓝色plt.scatter(x_values, y_values, c=x_values, cmap=plt.cm.Blues, edgecolors='none' ,s=5) plt.axis([0, 110, 0, 11000])# 取代show方法,保存图片到文件所在目录,bbox_inches='tight'可裁去多余的白边plt.savefig('squares_plot.png', bbox_inches='tight')
On peut voir que la couleur des points avec une petite valeur y est très claire et presque invisible ; à mesure que la valeur y augmente, la couleur devient de plus en plus foncée.
Simulation de marche aléatoire
Écrivez d'abord un cours de marche aléatoire, le but est de choisir au hasard la direction pour avancer
from random import choicedef get_step():""" 获得移动的步长 """# 分别代表正半轴和负半轴direction = choice([1, -1])# 随机选择一个距离distance = choice([0, 1, 2, 3, 4]) step = direction * distancereturn stepclass RandomWalk:""" 一个生成随机漫步数据的类 """# 默认漫步5000步def __init__(self, num_points=5000):self.num_points = num_pointsself.x_values = [0]self.y_values = [0]def fill_walk(self):""" 计算随机漫步包含的所有点 """while len(self.x_values) < self.num_points: x_step = get_step() y_step = get_step()# 没有位移,跳过不取if x_step == 0 and y_step == 0:continue# 计算下一个点的x和y, 第一次为都0,以前的位置 + 刚才的位移 = 现在的位置next_x = self.x_values[-1] + x_step next_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)
Commencez à dessiner les images générées par
import matplotlib.pyplot as plt rw = RandomWalk() rw.fill_walk()# figure的调用在plot或者scatter之前# plt.figure(dpi=300, figsize=(10, 6))# 这个列表包含了各点的漫步顺序,第一个元素将是漫步的起点,最后一个元素是漫步的终点point_numbers = list(range(rw.num_points))# 使用颜色映射绘制颜色深浅不同的点,浅色的是先漫步的,深色是后漫步的,因此可以反应漫步轨迹plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, s=1)# 突出起点plt.scatter(0, 0, c='green', edgecolors='none', s=50)# 突出终点plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', s=50)# 隐藏坐标轴plt.axes().get_xaxis().set_visible(False) plt.axes().get_yaxis().set_visible(False)# 指定分辨率和图像大小,单位是英寸plt.show()
, des points densément emballés. De loin, ça a l'air plutôt bien. La verte est le point de départ de la balade, et la rouge est le point final de la balade.
Mais l'image est un peu floue, alors décommentez la ligne ci-dessous rw.fill_walk()
. Habituellement appelé avant de dessiner.
plt.figure(dpi=300, figsize=(10, 6))
, dpi=300
est de 300 pixels/pouce. Cela doit être ajusté de manière appropriée pour obtenir une image claire. figsize=(10, 6)
Le paramètre transmis est un tuple, qui représente la taille de la fenêtre de dessin, qui est la taille de l'image, en pouces.
Les images haute définition, ça vous plaît ?
Traitement des données CSV
Nous devrons peut-être analyser les données fournies par d'autres. Généralement, ce sont des fichiers sous deux formats : json et csv. Voici les données météorologiques sitka_weather_2014.csv
, qui sont les données météorologiques de Sitka, États-Unis en 2014. Matplotlib est utilisé ici pour traiter les fichiers csv, et le traitement des fichiers json est placé dans pygal.
Téléchargez les données sitka_weather_2014.csv
La première ligne du fichier csv est généralement l'en-tête du tableau, et les données réelles commencent à partir de la deuxième ligne. Voyons d’abord quelles données contiennent l’en-tête du tableau.
import csv filename = 'F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv'with open(filename) as f: reader = csv.reader(f)# 只调用了一次next,得到第一行表头header_row = next(reader)for index, column_header in enumerate(header_row):print(index, column_header)
Imprimez comme suit
0 AKST 1 Max TemperatureF 2 Mean TemperatureF 3 Min TemperatureF 4 Max Dew PointF 5 MeanDew PointF 6 Min DewpointF 7 Max Humidity 8 Mean Humidity 9 Min Humidity ...
Nous sommes intéressés par les températures maximales et minimales et avons juste besoin d'obtenir les colonnes 1 et 3< Les données de 🎜> feront l'affaire. De plus, les données de date se trouvent dans la colonne 1.
La prochaine étape n’est pas difficile. À partir de la deuxième ligne, placez la température la plus élevée dans la liste des hautes, la température la plus basse dans la liste des basses et la date dans la liste des dates. Nous voulons afficher la date sur l'axe des x et introduire le module datetime.import csvimport matplotlib.pyplot as pltfrom datetime import datetime filename = 'F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv'with open(filename) as f: reader = csv.reader(f)# 只调用了一次next,得到第一行表头header_row = next(reader)# 第一列是最高气温,由于上面next读取过一行了,这里实际从第二行开始,也是数据开始的那行# reader只能读取一次,所以如下写法dates为空# highs = [int(row[1]) for row in reader]# dates= [row[0] for row in reader]dates, highs, lows = [], [], []for row in reader:# 捕获异常,防止出现数据为空的情况try: date = datetime.strptime(row[0], '%Y-%m-%d')# 第1列最高气温,读取到是字符串,转为inthigh = int(row[1])# 第3列最低气温low = int(row[3])except ValueError:print(date, 'missing data')else: dates.append(date) highs.append(high) lows.append(low)# figure在plot之前调用fig = plt.figure(dpi=300, figsize=(10, 6))# 最高气温的折线图plt.plot(dates, highs, c='red')# 最低气温的折线图plt.plot(dates, lows, c='blue')# 在两个y值之间填充颜色,facecolor为填充的颜色,alpha参数可指定颜色透明度,0.1表示颜色很浅接近透明plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1) plt.title('Daily high and low temperatures - 2014', fontsize=20) plt.xlabel('', fontsize=16) plt.ylabel('Temperature(F)', fontsize=16)# x轴的日期调整为斜着显示fig.autofmt_xdate() plt.tick_params(axis='both',labelsize=15) plt.show()
看以看出,7月到9月都很热,但是5月出现过非常高的气温!
上面的代码有一行date = datetime.strptime(row[0], '%Y-%m-%d')
。注意%Y-%m-%d
要和row[0]
字符串的格式一致。举个例子
# 下面这句报错time data '2017/6/23' does not match format '%Y-%m-%d'print(datetime.strptime('2017/6/22', '%Y-%m-%d')) print(datetime.strptime('2017-6-22', '%Y-%m-%d'))
%Y
指的是四位的年份, %y
是两位年份,%m
是数字表示的月份,%d
数字表示的月份中的一天。
by @sunhaiyu
2017.6.22
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Étapes d'installation : 1. Ouvrez l'environnement de développement intégré PyCharm ; 2. Allez dans le menu "Fichier" et sélectionnez "Paramètres" 3. Dans la boîte de dialogue "Paramètres", sélectionnez "Interpréteur Python" sous "Projet : <nom_de votre_projet>". ; 4. Cliquez sur le bouton plus « + » dans le coin supérieur droit et recherchez « matplotlib » dans la boîte de dialogue contextuelle ; 5. Sélectionnez « matplotlib » pour installer.

1.0 Introduction La technologie d'image tridimensionnelle est l'une des technologies d'affichage informatique les plus avancées au monde. Il suffit à tout ordinateur ordinaire d'installer un plug-in pour présenter des produits en trois dimensions dans un navigateur Web. peut afficher dynamiquement le processus de combinaison de produits. Particulièrement adapté à la navigation à distance. Les images tridimensionnelles sont visuellement distinctes et colorées, avec un fort impact visuel, permettant aux spectateurs de rester longtemps dans la scène et de laisser une profonde impression. Les images tridimensionnelles donnent aux gens une sensation réelle et réaliste, les personnages sont prêts à être vus et ils ont une sensation immersive, qui a une grande valeur d'appréciation artistique. 2.0 Méthodes et types de dessin tridimensionnel Vous devez d'abord installer la bibliothèque Matplotlib. Vous pouvez utiliser pip : pipinstallmatplotlib. On suppose que matplotl a été installé.

Pour en savoir plus sur la table de couleurs matplotlib, vous avez besoin d'exemples de code spécifiques 1. Introduction matplotlib est une puissante bibliothèque de dessins Python. Elle fournit un riche ensemble de fonctions et d'outils de dessin qui peuvent être utilisés pour créer différents types de graphiques. La palette de couleurs (colormap) est un concept important dans matplotlib, qui détermine la palette de couleurs du graphique. Une étude approfondie de la table des couleurs matplotlib nous aidera à mieux maîtriser les fonctions de dessin de matplotlib et à rendre les dessins plus pratiques.

1. Ajouter une étiquette de texte plt.text() est utilisé pour ajouter du texte à la position de coordonnées spécifiée sur l'image pendant le processus de dessin. Ce qui doit être utilisé, c'est la méthode plt.text(). Il existe trois paramètres principaux : plt.text(x,y,s) où x et y représentent les coordonnées des axes x et y du point entrant. s représente une chaîne. Il convient de noter que les coordonnées ici, si les étiquettes xticks et yticks sont définies, ne font pas référence aux étiquettes, mais aux valeurs d'origine des x et des axes lors du dessin. Parce qu'il y a trop de paramètres, je ne les expliquerai pas un par un. Apprenez leur utilisation en fonction du code. ha='center' signifie que l'alignement vertical est centré, fontsize=30 signifie que la taille de la police est 3

Tutoriel d'installation : 1. Ouvrez la fenêtre de ligne de commande et assurez-vous que Python et pip ont été installés ; 2. Entrez la commande « pip install matplotlib » pour installer matplotlib 3. Une fois l'installation terminée, vérifiez si matplotlib a réussi en important ; matplotlib.pyplot en tant que code plt, si aucune erreur n'est signalée, matplotlib a été installé avec succès.

Une étude préliminaire sur les robots d'exploration Java : Pour comprendre ses concepts de base et ses utilisations, des exemples de code spécifiques sont nécessaires. Avec le développement rapide d'Internet, l'obtention et le traitement de grandes quantités de données sont devenus une tâche indispensable pour les entreprises et les particuliers. En tant que méthode automatisée d'acquisition de données, le robot d'exploration (WebScraping) peut non seulement collecter rapidement des données sur Internet, mais également analyser et traiter de grandes quantités de données. Les robots d'exploration sont devenus un outil très important dans de nombreux projets d'exploration de données et de récupération d'informations. Cet article présentera un aperçu de base des robots d'exploration Java

Les méthodes d'affichage du chinois incluent l'installation de polices chinoises, la configuration des chemins d'accès aux polices, l'utilisation de caractères chinois, etc. Introduction détaillée : 1. Installez les polices chinoises : Tout d'abord, vous devez installer les fichiers de polices prenant en charge les caractères chinois. Les polices chinoises couramment utilisées incluent SimHei, SimSun, Microsoft YaHei, etc. 2. Configurez le chemin de la police : Dans le code, vous devez spécifier le chemin du fichier de police 3. Utilisez des caractères chinois : Dans le code, utilisez simplement le chinois ; personnages directement.

Explication détaillée de la table de couleurs matplotlib : Révéler les secrets des couleurs Introduction : En tant que l'un des outils de visualisation de données les plus couramment utilisés en Python, matplotlib possède de puissantes fonctions de dessin et des tables de couleurs riches. Cet article présentera la table des couleurs dans matplotlib et explorera les secrets des couleurs. Nous approfondirons les tables de couleurs couramment utilisées dans matplotlib et donnerons des exemples de code spécifiques. 1. La table des couleurs dans Matplotlib représente la couleur dans matplotlib.
