Python

Uso de LaTeX en Matplotlib

Cuando es necesario incluir ecuaciones u otros símbolos matemáticos en los cuadernos de Jupyter lo habitual es usar las expresiones de LaTeX. Algo que también se puede usar en las figuras de Matplotlib. Aunque su uso es algo más complicado. A diferencia de Jupyter, para poder usar LaTeX en Matplotlib es necesario tener instalado previamente una distribución de este sistema de composición de textos para generar los mensajes.

Instalación de una distribución de LaTeX

En el caso de que deseemos incluir anotaciones con LaTeX dentro de una figura de Matplotlib es necesario tener instalado el sistema en nuestro equipo. En el caso de Windows una de las más populares y fáciles de instalar es MiKTeX. Mientras que para los usuarios de macOS una de las distribuciones más sencillas de instalar es MacTeX. En ambos casos solamente se tiene que bajar el instalador y seguir los pasos del asistente.

Los usuarios de Linux lo tienen más fácil ya que LaTeX es una herramienta que se pueden encontrar dentro de la mayoría de las distribuciones.

Incluir anotaciones con LaTeX en Matplotlib

En un sistema en el que se encuentre LaTeX instalado solamente hay que realizar una pequeña configuración para que Matplotlib lo utilice. Se tiene que fijar la propiedad de text.usetex del objeto matplotlib.RcParams a verdadero. Con esto, todas las cadenas de texto de las anotaciones, etiquetas y títulos se evaluarán con LaTeX, pudiéndose incluir en las mismas tanto ecuaciones como otros símbolos.

Por ejemplo, en el siguiente ejemplo se muestra una señal y se usa LaTeX para generar las etiquetas de ambos ejes como para incluir una ecuación en el título.

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['text.usetex'] = True

x = np.linspace(0, np.pi, 100)
y = np.cos(3 * np.pi * x / 2)

plt.plot(x, y)
plt.xlabel(r'\textbf{Tiempo (ms)}')
plt.ylabel(r'\textbf{Amplitud $(\mu V)$}')
plt.title(r'Señal $\sin \left(\frac{3 \pi}{2} x \right)$', fontsize=18)
plt.show()

Obteniendo como resultado la siguiente figura.

Figura creada con Matplotlib en la que se usa LaTeX

Opciones para los textos

No solamente se puede activar el uso de LaTeX en Matplotlib mediante el objeto matplotlib.RcParams, también es posible fijar otras opciones como la fuente. Así para cambiar la fuente a Palatino se puede usar la siguiente opción

plt.rcParams.update({
    "text.usetex": True,
    "font.family": "serif",
    "font.serif": ["Palatino"],
})

Con lo que la figura del ejemplo anterior quedaría de la siguiente manera.

Figura creada con Matplotlib en la que se usa LaTeX en la que se usa la fuente Palatino

Pudiéndose notar fácilmente el cambio de fuente que existe entre las dos figuras.

Conclusiones

En esta entrada se ha visto una opción de personalización para las figuras de Matplotlib con la que es posible incluir ecuaciones y otros símbolos en nuestras figuras.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Matplotlib

Recent Posts

Analytics Lane lanza ScoreFlow, un SaaS para construir y desplegar scorecards de crédito

En Analytics Lane seguimos evolucionando nuestras herramientas y damos un paso más con el lanzamiento…

3 días ago

DBSCAN y la selección de ε: teoría, intuición y aplicación práctica

Cuando hablamos de clustering, lo primero que viene a la mente suele ser k-means. Pero…

4 días ago

El bestiario de los indicadores económicos absurdos: El zoo patrio

Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…

1 semana ago

Por qué el banco te ofrece un 3% TAE y no es lo que parece

Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…

2 semanas ago

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

2 semanas ago

This website uses cookies.