Tutoriel Matplotlib - Placer du texte dans le graphe

  1. Axes de Matplotlib Text
  2. Matplotlib Axes Text Exemple de base
  3. Rotation des axes de Matplotlib Text Rotation
  4. Axes de Matplotlib Text Explication de l’angle de rotation

Nous apprendrons comment placer le texte dans le tracé dans ce tutoriel. Vous pouvez soit ajouter du texte et lui donner un emplacement de coordonnées, soit ajouter du texte à un tracé spécifique et peut-être dessiner une flèche qui pointe directement vers ce tracé.

Axes de Matplotlib Text

matplotlib.axes.Axes.text(x, y, s, fontdict=None, withdash=False, **kwargs)

Ajouter le texte s aux axes à la position (x, y) dans les coordonnées des données.

Paramètres

Nom Type de données Description
x, y scalaires La position pour placer le texte
s str Le texte d’annotation
fontdict dictionary Un dictionnaire pour remplacer les propriétés de la police de texte par défaut

Matplotlib Axes Text Exemple de base

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)  
y = 10 * np.sin(x)

fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(2.0, 9.5, "Peak Value",fontsize=14)

ax.grid(True)

plt.show()

Texte de Matplotlib

Rotation des axes de Matplotlib Text Rotation

L’axe text a un mot-clé argument - rotation qui spécifie l’angle de rotation du texte dans le tracé. L’angle de rotation est compris entre 0 et 360 (degrés).

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)  
y = 10 * np.sin(x)

fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(1.3, 9.0, "Peak Value", fontsize=16, rotation = 270)

ax.grid(True)

plt.show()

Matplotlib Rotation_du_texte

Axes de Matplotlib Text Explication de l’angle de rotation

L’angle de rotation est dans le sens inverse des aiguilles d’une montre. Nous faisons un script de démonstration pour illustrer la définition de l’angle de rotation.

import matplotlib.pyplot as plt
import numpy as np


def addtext(ax, props):
    for x in range(8):
        angle = 45 * x
        ax.text(0.5+x, 0.5, '{} degree'.format(angle), props, rotation=angle)
        ax.scatter(x + 0.5, 0.5, color='r')
        
    ax.set_yticks([0, .5, 1])
    ax.set_xlim(0, 8)
    ax.grid(True)


# the text bounding box
bbox = {'fc': '0.8', 'pad': 0}

fig, axs = plt.subplots(1, 1, figsize=(8, 3))

addtext(axs, {'ha': 'center', 'va': 'center', 'bbox': bbox})
axs.set_xticks(np.arange(0, 8.1, 0.5), [])
axs.set_ylabel('center / center')

plt.show()

Démonstration de l'angle de rotation de Matplotlib Text_Rotation

Le texte est aligné par sa boîte de délimitation qui est la boîte rectangulaire entourant le rectangle de texte. Le texte sera d’abord pivoté puis aligné. En gros, le texte est centré à l’emplacement (x,y), tourné autour de ce point, et ensuite aligné selon la boîte de délimitation du texte tourné.

Ainsi, si vous spécifiez un alignement inférieur gauche, le bas gauche de la boîte englobante du texte pivoté sera à la coordonnée (x,y) du texte.

comments powered by Disqus