Échelles Fahrenheit et Celsius

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

Le but de ce laboratoire est de démontrer comment afficher deux graduations sur l'axe des y gauche et droit. Cet exemple utilise les graduations Fahrenheit et Celsius. Nous utiliserons une fonction de fermeture pour nous enregistrer en tant que rappel pour mettre à jour le second axe en fonction du premier axe.

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 nécessaires

Tout d'abord, nous devons importer les bibliothèques numpy et matplotlib.pyplot.

import matplotlib.pyplot as plt
import numpy as np

Définissez une fonction pour convertir les degrés Fahrenheit en degrés Celsius

Ensuite, nous définissons une fonction pour convertir la température en degrés Fahrenheit en degrés Celsius.

def fahrenheit2celsius(temp):
    """
    Renvoie la température en degrés Celsius à partir de la température en degrés Fahrenheit.
    """
    return (5. / 9.) * (temp - 32)

Définissez une fonction pour mettre à jour le second axe

Nous allons définir une fonction de fermeture pour nous enregistrer en tant que rappel pour mettre à jour le second axe en fonction du premier axe.

def convert_ax_c_to_celsius(ax_f):
    """
    Met à jour le second axe en fonction du premier axe.
    """
    y1, y2 = ax_f.get_ylim()
    ax_c.set_ylim(fahrenheit2celsius(y1), fahrenheit2celsius(y2))
    ax_c.figure.canvas.draw()

Créez le tracé

Maintenant, nous créons un tracé avec deux axes des y à l'aide de la fonction subplots() de matplotlib.pyplot. Nous connectons également l'événement ylim_changed du premier axe à la fonction convert_ax_c_to_celsius().

fig, ax_f = plt.subplots()
ax_c = ax_f.twinx()

ax_f.callbacks.connect("ylim_changed", convert_ax_c_to_celsius)

Tracez les données

Nous traçons les données à l'aide de la fonction plot() du premier axe.

ax_f.plot(np.linspace(-40, 120, 100))

Définissez les limites et les étiquettes des axes

Nous définissons les limites de l'axe des x sur (0,100), ainsi que les étiquettes et le titre de l'axe des y.

ax_f.set_xlim(0, 100)
ax_f.set_title('Two scales: Fahrenheit and Celsius')
ax_f.set_ylabel('Fahrenheit')
ax_c.set_ylabel('Celsius')

Affichez le tracé

Enfin, nous affichons le tracé à l'aide de la fonction show() de matplotlib.pyplot.

plt.show()

Récapitulatif

Dans ce laboratoire, nous avons appris à afficher deux échelles sur les axes des y gauche et droit à l'aide de Matplotlib en Python. Nous avons utilisé une fonction fermée pour nous enregistrer comme rappel pour mettre à jour le second axe en fonction du premier axe. Cela est utile lorsque nous voulons tracer deux ensembles de données avec des unités différentes.