Table des matières
Exploration initiale de Matplotlib
Graphique linéaire
Nuage de points
Carte de couleurs
Simulation de marche aléatoire
Traitement des données CSV
Maison développement back-end Tutoriel Python Première introduction à Matplotlib

Première introduction à Matplotlib

Jun 23, 2017 am 11:08 AM
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()
Copier après la connexion

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.

Première introduction à Matplotlib

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.

Première introduction à Matplotlib

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()
Copier après la connexion

Comme vous pouvez le voir, je viens de remplacer plt.plot par plt.scatter, et le reste du code est fondamentalement inchangé.

Première introduction à Matplotlib

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()
Copier après la connexion

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.

Première introduction à Matplotlib

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')
Copier après la connexion

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.

Première introduction à Matplotlib

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)
Copier après la connexion

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=&#39;green&#39;, edgecolors=&#39;none&#39;, s=50)# 突出终点plt.scatter(rw.x_values[-1], rw.y_values[-1], c=&#39;red&#39;, s=50)# 隐藏坐标轴plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)# 指定分辨率和图像大小,单位是英寸plt.show()
Copier après la connexion

, 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.

Première introduction à Matplotlib

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 ?

Première introduction à Matplotlib

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 = &#39;F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv&#39;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)
Copier après la connexion

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
...
Copier après la connexion

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 = &#39;F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv&#39;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], &#39;%Y-%m-%d&#39;)# 第1列最高气温,读取到是字符串,转为inthigh = int(row[1])# 第3列最低气温low = int(row[3])except ValueError:print(date, &#39;missing data&#39;)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=&#39;red&#39;)# 最低气温的折线图plt.plot(dates, lows, c=&#39;blue&#39;)# 在两个y值之间填充颜色,facecolor为填充的颜色,alpha参数可指定颜色透明度,0.1表示颜色很浅接近透明plt.fill_between(dates, highs, lows, facecolor=&#39;blue&#39;, alpha=0.1)
plt.title(&#39;Daily high and low temperatures - 2014&#39;, fontsize=20)
plt.xlabel(&#39;&#39;, fontsize=16)
plt.ylabel(&#39;Temperature(F)&#39;, fontsize=16)# x轴的日期调整为斜着显示fig.autofmt_xdate()
plt.tick_params(axis=&#39;both&#39;,labelsize=15)
plt.show()
Copier après la connexion

Première introduction à Matplotlib

看以看出,7月到9月都很热,但是5月出现过非常高的气温!

上面的代码有一行date = datetime.strptime(row[0], &#39;%Y-%m-%d&#39;)。注意%Y-%m-%d要和row[0]字符串的格式一致。举个例子

# 下面这句报错time data &#39;2017/6/23&#39; does not match format &#39;%Y-%m-%d&#39;print(datetime.strptime(&#39;2017/6/22&#39;, &#39;%Y-%m-%d&#39;)) 
print(datetime.strptime(&#39;2017-6-22&#39;, &#39;%Y-%m-%d&#39;))
Copier après la connexion

%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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment installer Matplotlib dans pycharm Comment installer Matplotlib dans pycharm Dec 18, 2023 pm 04:32 PM

É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.

Comment créer un graphique linéaire tridimensionnel à l'aide de Python et Matplotlib Comment créer un graphique linéaire tridimensionnel à l'aide de Python et Matplotlib Apr 22, 2023 pm 01:19 PM

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é.

Une plongée approfondie dans la palette de couleurs de matplotlib Une plongée approfondie dans la palette de couleurs de matplotlib Jan 09, 2024 pm 03:51 PM

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.

Comment ajouter des étiquettes aux images Matplotlib en Python Comment ajouter des étiquettes aux images Matplotlib en Python May 12, 2023 pm 12:52 PM

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

Comment installer matplotlib Comment installer matplotlib Dec 20, 2023 pm 05:54 PM

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.

Premiers pas avec les robots d'exploration Java : comprendre ses concepts de base et ses méthodes d'application Premiers pas avec les robots d'exploration Java : comprendre ses concepts de base et ses méthodes d'application Jan 10, 2024 pm 07:42 PM

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

Quelles sont les méthodes permettant à matplotlib d'afficher le chinois ? Quelles sont les méthodes permettant à matplotlib d'afficher le chinois ? Nov 22, 2023 pm 05:34 PM

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.

Décrypter la table des couleurs matplotlib : révéler l'histoire derrière les couleurs Décrypter la table des couleurs matplotlib : révéler l'histoire derrière les couleurs Jan 09, 2024 am 11:38 AM

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.

See all articles