Introduction
Matplotlib est une bibliothèque de visualisation de données en Python. Elle est largement utilisée pour créer une large gamme de visualisations telles que des graphiques linéaires, des graphiques de dispersion, des graphiques en barres, des histogrammes, etc. Ce tutoriel se concentrera sur la création d'histogrammes étape par étape à l'aide de Matplotlib.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.
Importez les bibliothèques et les modules nécessaires
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import StepPatch
Préparez les données
np.random.seed(0)
h, edges = np.histogram(np.random.normal(5, 3, 5000),
bins=np.linspace(0, 10, 20))
Créez un histogramme en escalier simple
plt.stairs(h, edges, label='Simple histogram')
plt.legend()
plt.show()
Modifiez la ligne de base de l'histogramme en escalier
plt.stairs(h, edges + 5, baseline=50, label='Modified baseline')
plt.legend()
plt.show()
Créez un histogramme en escalier sans bords
plt.stairs(h, edges + 10, baseline=None, label='No edges')
plt.legend()
plt.show()
Créez un histogramme rempli
plt.stairs(np.arange(1, 6, 1), fill=True,
label='Filled histogram\nw/ automatic edges')
plt.legend()
plt.show()
Créez un histogramme hachuré
plt.stairs(np.arange(1, 6, 1)*0.3, np.arange(2, 8, 1),
orientation='horizontal', hatch='//',
label='Hatched histogram\nw/ horizontal orientation')
plt.legend()
plt.show()
Créez un artiste StepPatch
patch = StepPatch(values=[1, 2, 3, 2, 1],
edges=range(1, 7),
label=('Patch dérivé de l\'objet sous-jacent\n'
'avec le comportement par défaut de la couleur de bord/couleur de face'))
plt.gca().add_patch(patch)
plt.xlim(0, 7)
plt.ylim(-1, 5)
plt.legend()
plt.show()
Créez des histogrammes superposés
A = [[0, 0, 0],
[1, 2, 3],
[2, 4, 6],
[3, 6, 9]]
for i in range(len(A) - 1):
plt.stairs(A[i+1], baseline=A[i], fill=True)
plt.show()
Comparez .pyplot.step et .pyplot.stairs
bins = np.arange(14)
centers = bins[:-1] + np.diff(bins) / 2
y = np.sin(centers / 2)
plt.step(bins[:-1], y, where='post', label='step(where="post")')
plt.plot(bins[:-1], y, 'o--', color='grey', alpha=0.3)
plt.stairs(y - 1, bins, baseline=None, label='stairs()')
plt.plot(centers, y - 1, 'o--', color='grey', alpha=0.3)
plt.plot(np.repeat(bins, 2), np.hstack([y[0], np.repeat(y, 2), y[-1]]) - 1,
'o', color='red', alpha=0.2)
plt.legend()
plt.title('step() vs. stairs()')
plt.show()
Sommaire
Ce tutoriel a abordé les bases de la création d'histogrammes en escalier à l'aide de Matplotlib. Nous avons appris à créer des histogrammes en escalier simples, à modifier la ligne de base des histogrammes, à créer des histogrammes remplis et hachurés, et à créer des histogrammes superposés. Nous avons également comparé les différences entre .pyplot.step et .pyplot.stairs.