Création de graphiques avec des échelles différentes

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à créer des graphiques avec différentes échelles en Python à l'aide de Matplotlib. Plus précisément, vous allez apprendre à créer deux graphiques sur les mêmes axes avec des échelles gauche et droite différentes.

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 Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

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églerons rapidement le problème pour vous.

Importez les bibliothèques requises

Avant de commencer, importons les bibliothèques requises. Nous utiliserons Matplotlib et NumPy pour ce tutoriel.

import matplotlib.pyplot as plt
import numpy as np

Créez des données fictives

Ensuite, nous allons créer des données fictives pour nos graphiques. Nous utiliserons numpy.arange pour créer un tableau de valeurs allant de 0,01 à 10,0 avec un pas de 0,01. Nous utiliserons ensuite numpy.exp et numpy.sin pour créer deux ensembles de données.

## Create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

Créez le graphique

Maintenant que nous avons nos données, nous pouvons créer notre graphique. Nous commencerons par créer un objet d'axes à l'aide de matplotlib.pyplot.subplots(). Nous tracerons ensuite notre premier ensemble de données sur cet objet d'axes et définirons la couleur de l'étiquette en rouge.

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('temps (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

Ensuite, nous allons instancier un second objet d'axes qui partage le même axe x que le premier objet d'axes à l'aide de la méthode ax1.twinx(). Nous tracerons ensuite notre second ensemble de données sur ce nouvel objet d'axes et définirons la couleur de l'étiquette en bleu.

ax2 = ax1.twinx()

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

Enfin, nous ajusterons la disposition de notre graphique à l'aide de la méthode fig.tight_layout() et le visualiserons à l'aide de matplotlib.pyplot.show().

fig.tight_layout()
plt.show()

Revoyez le graphique

Prenez un moment pour revoir le graphique qui a été créé. Remarquez comment les deux ensembles de données ont des échelles différentes sur l'axe y. Le premier ensemble de données est tracé en rouge et a une échelle sur le côté gauche du graphique, tandis que le second ensemble de données est tracé en bleu et a une échelle sur le côté droit du graphique.

Sommaire

Félicitations ! Vous avez appris à créer des graphiques avec des échelles différentes en Python à l'aide de Matplotlib. Plus précisément, vous avez appris à créer deux graphiques sur les mêmes axes avec des échelles gauche et droite différentes en utilisant deux axes différents qui partagent le même axe x. Vous pouvez utiliser des formatteurs et des positionneurs matplotlib.ticker séparés selon vos besoins car les deux axes sont indépendants.