Création d'étiquettes de graduations à partir d'une liste de valeurs

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 tutoriel, vous allez apprendre à utiliser Matplotlib pour créer des étiquettes d'échelonnage à partir d'une liste de valeurs. Lorsque vous utilisez .Axes.set_xticks, les étiquettes d'échelonnage sont définies sur les échelons actuellement choisis. Cependant, parfois il est préférable de laisser Matplotlib choisir dynamiquement le nombre d'échelons et leur espacement. Dans ce cas, vous pouvez vouloir déterminer l'étiquette d'échelonnage à partir de la valeur à l'échelon. Ce tutoriel vous montrera comment le faire.

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

Nous commençons par importer les bibliothèques nécessaires pour ce tutoriel, qui sont matplotlib.pyplot et MaxNLocator de matplotlib.ticker.

import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

Créez un objet figure et axes

Ensuite, nous créons un objet figure et axes à l'aide de la méthode subplots() de matplotlib.pyplot.

fig, ax = plt.subplots()

Créez les données x et y

Nous créons les données x et y à l'aide de la méthode range() de la fonction range intégrée à Python.

xs = range(26)
ys = range(26)

Créez une liste d'étiquettes

Nous créons une liste d'étiquettes en utilisant la méthode list() pour convertir une chaîne de caractères de l'alphabet en une liste de caractères.

labels = list('abcdefghijklmnopqrstuvwxyz')

Créez une fonction de formatage

Nous créons une fonction de formatage qui détermine l'étiquette de graduation à partir de la valeur à l'emplacement de la graduation. Si la valeur de la graduation est un entier dans la plage de xs, l'étiquette correspondante de la liste labels est renvoyée. Sinon, une chaîne de caractères vide est renvoyée.

def format_fn(tick_val, tick_pos):
    if int(tick_val) in xs:
        return labels[int(tick_val)]
    else:
        return ''

Définissez le formatteur et le localisateur de graduations

Nous définissons le formatteur d'étiquettes de graduation de l'axe x sur la fonction de formatage créée à l'étape 5 en utilisant la méthode set_major_formatter(). Nous définissons également le localisateur d'étiquettes de graduation de l'axe x sur MaxNLocator(integer=True) pour vous assurer que les valeurs des graduations prennent des valeurs entières.

ax.xaxis.set_major_formatter(format_fn)
ax.xaxis.set_major_locator(MaxNLocator(integer=True))

Créez le tracé

Nous créons le tracé à l'aide de la méthode plot() de l'objet axes et en passant les données xs et ys.

ax.plot(xs, ys)

Affichez le tracé

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

plt.show()

Sommaire

Dans ce tutoriel, vous avez appris à créer des étiquettes de graduations à partir d'une liste de valeurs à l'aide de Matplotlib. Nous avons tout d'abord créé une figure et un objet d'axes, puis créé les données x et y, et finalement créé une liste d'étiquettes. Nous avons ensuite créé une fonction de formatage qui détermine l'étiquette de graduation à partir de la valeur à l'emplacement de la graduation et défini le formatteur et le localisateur de graduations. Enfin, nous avons créé le tracé et l'affiché.