Faire tourner le texte dans les graphiques Matplotlib

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 laboratoire démontrera comment faire tourner des objets de texte dans Matplotlib par rapport à une ligne ou à un objet sur un graphique plutôt que par rapport au système de coordonnées de l'écran. Cette technique peut être utile lorsque vous voulez faire tourner du texte par rapport à quelque chose de spécifique sur le graphique.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/booleans -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/comments -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} matplotlib/line_plots -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/lists -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/tuples -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/build_in_functions -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} python/data_collections -.-> lab-48984{{"Faire tourner le texte dans les graphiques Matplotlib"}} end

Tracer une ligne diagonale

Tout d'abord, nous allons tracer une ligne diagonale à un angle de 45 degrés en utilisant la fonction plot() de Matplotlib.

fig, ax = plt.subplots()

## Tracer la ligne diagonale (45 degrés)
h = ax.plot(range(0, 10), range(0, 10))

Ajuster les limites du graphique

Ensuite, nous allons ajuster les limites du graphique de sorte que la ligne diagonale ne soit plus à un angle de 45 degrés lorsqu'elle est vue à l'écran. Cela créera un scénario où nous devrons faire tourner le texte par rapport à la ligne, plutôt que par rapport au système de coordonnées de l'écran.

## définir les limites de sorte qu'elle ne semble plus à 45 degrés à l'écran
ax.set_xlim([-10, 20])

Définir les emplacements du texte et l'angle de rotation

Nous allons maintenant définir les emplacements où nous voulons tracer du texte sur la figure et l'angle de rotation que nous souhaitons utiliser.

## Emplacements pour tracer du texte
l1 = np.array((1, 1))
l2 = np.array((5, 5))

## Angle de rotation
angle = 45

Tracer du texte sans rotation correcte

Nous allons maintenant tracer du texte aux emplacements spécifiés sans prendre en compte la rotation de la ligne. Cela entraînera que le texte soit tourné à un angle de 45 degrés, ce qui n'est pas ce que nous voulons.

## Tracer du texte
th1 = ax.text(*l1, 'text not rotated correctly', fontsize=16,
              rotation=angle, rotation_mode='anchor')

Tracer du texte avec rotation correcte

Enfin, nous allons tracer du texte aux emplacements spécifiés tout en tenant compte de la rotation de la ligne. Cela entraînera que le texte soit tourné à l'angle correct par rapport à la ligne.

## Tracer du texte
th2 = ax.text(*l2, 'text rotated correctly', fontsize=16,
              rotation=angle, rotation_mode='anchor',
              transform_rotates_text=True)

Afficher la figure

Nous allons afficher la figure pour voir la différence entre les deux ensembles de texte tracé.

plt.show()

Récapitulatif

Dans ce laboratoire, nous avons appris à faire tourner des objets de texte dans Matplotlib par rapport à une ligne ou à un objet sur un graphique. En utilisant le paramètre transform_rotates_text, nous avons pu nous assurer que le texte était tourné à l'angle correct par rapport à la ligne, plutôt qu'au système de coordonnées de l'écran.