Tutorial Matplotlib - Inserire il testo nella trama
-
Matplotlib Assi
Text
-
Matplotlib Assi
Text
Esempio di base -
Matplotlib Assi Rotazione del
Text
-
Matplotlib Assi
Text
Angolo di rotazione Spiegazione dell’angolo di rotazione
Impareremo come inserire il testo nella trama in questo tutorial. Si può aggiungere del testo e dare a quel testo una posizione di coordinate oppure si può anche aggiungere del testo ad una trama specifica e magari disegnare una freccia che punta direttamente a quella trama.
Matplotlib Assi Text
matplotlib.axes.Axes.text(x, y, s, fontdict=None, withdash=False, **kwargs)
Aggiungere il testo s
agli assi in posizione (x, y)
nelle coordinate dei dati.
Parametri
Nome | Tipo di dati | Descrizione |
---|---|---|
x, y |
scalars |
La posizione per posizionare il testo |
s |
str |
Il testo dell’annotazione |
fontdict |
dict |
Un dizionario per sovrascrivere le proprietà dei caratteri di testo predefinite |
Matplotlib Assi Text
Esempio di 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()
Matplotlib Assi Rotazione del Text
Gli assi text
ha un argomento di parola chiave - rotation
che specifica l’angolo di rotazione del testo nel grafico. L’angolo di rotation
è compreso tra 0 e 360 (gradi).
# -*- 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 Assi Text
Angolo di rotazione Spiegazione dell’angolo di rotazione
L’angolo di rotazione è in senso antiorario. Facciamo un demo script per illustrare la definizione dell’angolo di rotazione.
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, 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()
Il testo è allineato dal suo riquadro di delimitazione che è la casella rettangolare che circonda il rettangolo del testo. Il testo viene prima ruotato e poi allineato. Fondamentalmente, il testo è centrato nella posizione (x, y)
, ruotato intorno a questo punto, e poi allineato secondo il rettangolo di delimitazione del testo ruotato.
Quindi, se si specifica a sinistra, l’allineamento in basso a sinistra del rettangolo di delimitazione del testo ruotato, la parte inferiore sinistra del rettangolo di delimitazione del testo ruotato sarà alla coordinata (x, y)
del testo.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook