Python

Personalizar las marcas de división en Matplotlib

Las figuras creadas con Matplotlib generalmente contienen marcas de división en los ejes, ya que son una excelente ayuda para interpretar correctamente los datos que se muestran. Aunque la configuración por defecto suele ser una buena opción, puede que no sea la más adecuada para nuestras necesidades. Veamos cómo se pueden personalizar las marcas de división en Matplotlib.

Marcas de división en Matplotlib

Antes de ver las opciones que existen para personalizar las marcas de división en Matplotlib es bueno ver cómo son las que se muestran por defecto. Algo que se puede hacer ejecutando un código como el siguiente.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1, 100)
y = np.cos(1.5 * np.pi * x)

plt.plot(x, y)
plt.show()

Lo que produce como resultado la siguiente figura.

En esta figura se puede ver que las marcas de división están por fuera de la figura y son del mismo color y tamaño que el cuadro de la figura.

Opciones configuración para las marcas de división

La configuración de las marcas de división en Matplotlib se realiza mediante la función plt.tick_params() a la que se le debe indicar los parámetros de configuración. Función que se debe llamar antes de dibujar la figura. Los principales parámetros que admite esta función son:

  • axis: el eje al que se le aplican los cambios, por defecto es a ambos (‘both’) pero se puede seleccionar solamente uno de ellos.
  • direction: la dirección en la que se muestran las marcas, por defecto es hacia fuera (‘out’), pero se pueden mostrar hacia dentro (‘in’) o en ambas (‘inout’).
  • length: la longitud de la marca también se puede modificar mediante este parámetro que admite valores reales.
  • width: el acto es otra opción que se también se puede cambiar, para lo que se debe indicar el un valor real en este parámetro.
  • color: el color es otra opción que se puede modificar asignado el código del color a este parámetro.
  • labelrotation: la rotación de las etiquetas del eje permite que se puedan ver mejor cuando estas son grandes, para ello solamente se tienen que indicar lo grados que se desea rotar en este parámetro.

Hacer que las marcas de división se muestran dentro

En el caso de que prefiramos que las marcas de división se muestran dentro de la figura en lugar de fuera tiene fácil solución. Para esto, antes de dibujar la figura, solamente se tiene que llamar la función plt.tick_params() asignando al parámetro direction con la opción ‘in’. Tal como se hace en el siguiente código

plt.plot(x, y)
plt.tick_params(direction='in')
plt.show()

Lo que produce la siguiente gráfica.

Personalizar los ejes por separado

La configuración de cada uno de los ejes de la figura no tiene por qué ser la misma, se pueden aplicar diferentes opciones a cada uno. Para ello se tiene que llamar la función plt.tick_params() más de una vez indicando en cada momento el eje al que se desea aplicar la configuración. Algo similar a lo que se hace en el siguiente código.

plt.plot(x, y)
plt.tick_params(axis="x", length=6, width=2, colors='r', labelrotation=45.0)
plt.tick_params(axis="y", length=3, width=4, colors='b')
plt.show()

En el ejemplo anterior se ha indica que para el eje x la longitud de las marcas debe ser 6, con un ancho de 2, de color rojo y con las etiquetas rotadas 45 grados. Por otro lado, para el eje y la longitud de las etiquetas es de 6, mientras que el ancho es de 4 y el color es azul. Al ejecutar el código se crea la siguiente gráfica.

Conclusiones

En esta entrada se ha visto cómo se pueden configurar las marcas de división en Matplotlib para que estas se adapten mejor a lo que necesitamos en cada momento. No se han visto todas la opciones de la función plt.tick_params(), el resto de opciones se puede consultar en la documentación de la función, pero este subconjunto es uno de los más utilizados.

¿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…

4 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…

5 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.