本篇文章将介绍如何在Matplotlib中设置文本、注释和数学表达式,以便更好地呈现数据,提高可视化效果。
Directorio de artículos
1. Configuración de texto en Matplotlib
1.1 Configuración de texto sin formato
提示:这里可以添加本文要记录的大概内容:
Se puede agregar texto con la función text(). La sintaxis de la función text() es la siguiente:
text(x, y, s, fontdict=None, withdash=False, **kwargs)
- x e y representan las coordenadas horizontales y verticales del texto,
- s representa el contenido de texto que se agregará,
- fontdict representa un diccionario de atributos de fuente,
- Withdash indica si se debe usar una línea punteada para enmarcar el texto,
- kwargs es un parámetro opcional.
El texto se puede agregar en Matplotlib siguiendo el código
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.text(2, 5, "This is a text", fontsize=12, color="red")
plt.show()
Primero, use la función plot() para dibujar una línea recta y luego use la función text() para agregar un fragmento de texto en el punto de coordenadas (2,5), el tamaño de fuente es 12 y el color es rojo.
1.2 Ajustes de texto con flechas
Además de la función text(), también podemos usar la función annotate() para agregar anotaciones. Su formato de sintaxis es el siguiente:
annotate(s, xy, xytext=None, xycoords='data',
textcoords='offset points', arrowprops=None, **kwargs)
- s representa el contenido de texto que se agregará,
- xy representa el punto de coordenadas señalado por la flecha,
- xytext indica el punto de coordenadas del texto, el valor predeterminado es Ninguno, lo que significa usar el mismo punto de coordenadas que xy,
- xycoords y textcoords representan el sistema de coordenadas de xy y xytext respectivamente, el valor predeterminado es "data", que representa el sistema de coordenadas de datos,
- arrowprops indica las propiedades de la flecha y kwargs es un parámetro opcional.
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.annotate("This is an annotation", xy=(2, 5), xytext=(2.5, 5.5),
arrowprops=dict(facecolor='red', shrink=0.05), fontsize=12)
plt.show()
2. Configuración de expresiones matemáticas en Matplotlib
Las expresiones matemáticas también se pueden usar para agregar texto o anotaciones al contenido actual, como fórmulas matemáticas. La sintaxis de expresiones matemáticas admitida por Matplotlib es similar a LaTeX, lo que nos permite agregar fácilmente varios símbolos y funciones matemáticas comunes.
Podemos usar expresiones matemáticas en texto en dos modos: modo en línea y modo en línea. El modo en línea usa un solo signo de dólar $ para rodear expresiones matemáticas, por ejemplo:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.text(2, 5, r"$y = \sqrt{x}$", fontsize=12)
plt.show()
En el texto se usan expresiones matemáticas, donde \sqrt{x} se usa para representar la operación de encontrar el signo de la raíz.
Por el contrario, el modo en línea utiliza un par de símbolos $$ para rodear expresiones matemáticas, por ejemplo:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.annotate(r"$\sum_{i=1}^n i = \frac{n(n+1)}{2}$",
xy=(2, 5), xytext=(2.5, 5.5),
arrowprops=dict(facecolor='red', shrink=0.05), fontsize=12)
plt.show()
3. Configuración de fuentes en Matplotlib
En Matplotlib, también podemos establecer las propiedades de fuente de texto o comentarios a través del parámetro fontdict, incluido el tamaño de fuente, el color, el tipo de fuente, etc. El parámetro fontdict es un diccionario que contiene pares clave-valor para varias propiedades de fuente.
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
font = {
'family': 'Times New Roman',
'color': 'darkred',
'weight': 'normal',
'size': 14,
}
plt.text(2, 5, "This is a text", fontdict=font)
plt.show()