Techniques de visualisation de données de séries chronologiques en Python

王林
Libérer: 2023-06-10 22:45:06
original
3169 Les gens l'ont consulté

À mesure que les données continuent de croître et de changer, l'analyse des données de séries chronologiques devient de plus en plus importante. En tant que langage de programmation open source, flexible et facile à utiliser, Python est également largement utilisé dans le domaine de l'analyse de données de séries chronologiques. Dans cet article, nous explorerons les techniques de visualisation de données de séries chronologiques en Python pour vous aider à mieux comprendre et analyser les données de séries chronologiques.

1. Introduction à la bibliothèque Matplotlib

Matplotlib est une bibliothèque de visualisation largement utilisée en Python, prenant en charge différents types de graphiques, tels que les graphiques linéaires, les graphiques à barres, les diagrammes circulaires, les graphiques à nuages de points, etc. Son utilisation est simple et facile à comprendre, et il peut être inclus dans le package d'installation standard de Python. Ci-dessous, nous expliquerons comment utiliser Matplotlib pour dessiner des graphiques de données de séries chronologiques.

2. Graphique linéaire

Le graphique linéaire est le moyen le plus courant de présenter des graphiques de données de séries chronologiques. Grâce au graphique linéaire, les tendances et les changements dans les données peuvent être clairement affichés, et les différences entre les données à différents moments peuvent être exprimées de manière plus intuitive. Ensuite, nous construisons d'abord un ensemble de données de test :

import numpy as np # 生成随机正弦函数 x = np.linspace(0, 10, 1000) y = np.sin(x) + np.random.randn(len(x)) * 0.1 # 绘制折线图 import matplotlib.pyplot as plt plt.plot(x, y) plt.show()
Copier après la connexion

Comme indiqué ci-dessus, nous avons généré une séquence arithmétique x contenant 1000 nombres via la fonction linspace, et calculé la fonction sinus sur celle-ci, plus un terme de bruit aléatoire, de cette façon, un échantillon de données y est obtenu. Ensuite, nous appelons la fonction plot dans Matplotlib, transmettons x et y et appelons la fonction show pour afficher le graphique linéaire.

3. Graphique en aires

Le graphique en aires peut être utilisé pour présenter la tendance changeante des données de séries chronologiques et montrer la relation entre un certain indicateur et le total global. Dans Matplotlib, vous pouvez facilement créer des tracés de zones à l'aide de la fonction fill_between. Ensuite, nous construisons un autre ensemble de données de test et dessinons le graphique en aires :

# 生成随机的正态分布函数 x = np.linspace(0, 10, 1000) y = np.random.randn(len(x)).cumsum() # 绘制区域图 plt.fill_between(x, y, color='skyblue', alpha=0.2) plt.plot(x, y, color='skyblue', alpha=0.6) plt.show()
Copier après la connexion

Dans cet exemple, nous utilisons d'abord la fonction cumsum pour intégrer la fonction de distribution normale aléatoire pour obtenir la somme cumulée, puis utilisons la fonction fill_between pour dessiner un bleu. carte de la zone avec sa transparence ajustée. Utilisez la fonction de tracé pour dessiner un graphique linéaire de la somme cumulée et spécifiez la couleur et la transparence du type de ligne.

4. Carte thermique

La carte thermique peut être utilisée pour présenter les changements de données dans une certaine plage de temps, et la tendance de changement des données est exprimée par des changements de couleur. Dans Matplotlib, il vous suffit d'appeler la fonction imshow pour créer une carte thermique. Ci-dessous, nous utilisons l'ensemble de données book_data pour dessiner une carte thermique :

from matplotlib import cm # 导入book_data数据集 from vega_datasets import data book_data = data.books() # 绘制热度图 fig, ax = plt.subplots(figsize=(12, 6)) im = ax.imshow(book_data.pivot(index='year', columns='category', values='books'), cmap=cm.Reds, interpolation='nearest') # 设置图表元素 ax.set_xticks(np.arange(len(book_data['category'].unique()))) ax.set_yticks(np.arange(len(book_data['year'].unique()))) ax.set_xticklabels(book_data['category'].unique()) ax.set_yticklabels(book_data['year'].unique()) ax.set_title('书籍类别和年份图书数量热度图') # 添加坐标轴的标签 ax.set_xlabel('书籍类别') ax.set_ylabel('年份') # 添加颜色条 cbar = ax.figure.colorbar(im, ax=ax) cbar.ax.set_ylabel('图书数量', rotation=-90, va="bottom") # 调整布局 plt.tight_layout() plt.show()
Copier après la connexion

En important l'ensemble de données book_data, nous avons obtenu un tableau de données contenant le nombre de livres de différentes catégories chaque année. Ensuite, nous utilisons la fonction imshow pour mapper les valeurs du tableau de données sur la palette rouge et ajoutons des éléments de graphique, tels que des étiquettes d'axe, des titres, des barres de couleurs, etc. En ajustant la mise en page, vous pouvez rendre le graphique plus beau et plus facile à comprendre.

5. Résumé

Cet article présente la fonction principale de la bibliothèque Matplotlib et plusieurs techniques courantes de visualisation de données de séries chronologiques : graphiques linéaires, graphiques en aires et cartes thermiques. Ces techniques peuvent nous aider à mieux comprendre et analyser les données de séries chronologiques afin de prendre des décisions plus précises et plus précieuses. Dans le même temps, en utilisation réelle, vous pouvez également ajuster les éléments du graphique pour rendre le graphique plus beau et plus facile à comprendre.

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:php.cn
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!