Créer un graphique Matplotlib à deux axes

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

Ce tutoriel vous guidera tout au long des étapes de création d'un graphique simple à l'aide de Matplotlib, une bibliothèque Python utilisée pour la visualisation de données. Nous utiliserons le module host_subplot pour créer un graphique avec deux axes y.

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 d'adresses 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ésoudrons rapidement le problème pour vous.

Importez les modules nécessaires

La première étape consiste à importer les modules nécessaires pour notre graphique. Nous utiliserons numpy pour générer nos données x et y, matplotlib.pyplot pour créer le graphique et mpl_toolkits.axes_grid1 pour créer le second axe y.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot

Générez des données

Ensuite, nous devons générer nos données x et y. Nous allons générer une onde sinusoïdale pour cet exemple.

xx = np.arange(0, 2*np.pi, 0.01)
yy = np.sin(xx)

Créez le graphique

Maintenant, nous pouvons créer notre graphique à l'aide de la fonction host_subplot. Cette fonction crée un sous-graphique avec deux axes y.

ax = host_subplot(111)
ax.plot(xx, yy)

Créez le second axe y

Pour créer le second axe y, nous devons créer un nouvel objet d'axe à l'aide de la fonction twin.

ax2 = ax.twin()

Définissez les étiquettes d'échelonnage pour le second axe y

Nous pouvons définir les étiquettes d'échelonnage pour le second axe y en utilisant la fonction set_xticks et en passant les emplacements et les étiquettes d'échelonnage en tant qu'arguments.

ax2.set_xticks([0.,.5*np.pi, np.pi, 1.5*np.pi, 2*np.pi],
               labels=["$0$", r"$\frac{1}{2}\pi$",
                       r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"])

Masquez les étiquettes d'échelonnage pour le second axe y droit

Nous pouvons masquer les étiquettes d'échelonnage pour le second axe y droit à l'aide de la fonction major_ticklabels.set_visible.

ax2.axis["right"].major_ticklabels.set_visible(False)

Affichez les étiquettes d'échelonnage pour le second axe y supérieur

Nous pouvons afficher les étiquettes d'échelonnage pour le second axe y supérieur à l'aide de la même fonction major_ticklabels.set_visible.

ax2.axis["top"].major_ticklabels.set_visible(True)

Affichez le graphique

Enfin, nous pouvons afficher notre graphique à l'aide de la fonction show.

plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à créer un graphique simple avec deux axes y à l'aide de Matplotlib. Nous avons utilisé le module host_subplot pour créer le graphique et le module mpl_toolkits.axes_grid1 pour créer le second axe y. Nous avons généré nos données à l'aide de numpy et affiché le graphique à l'aide de matplotlib.pyplot.