Cambiar la frecuencia de ticks en Matplotlib

C

 

Introducción

Matplotlib es una de las bibliotecas de visualización de datos más utilizadas en Python. Gran parte de la popularidad de Matplotlib proviene de sus opciones de personalización: puede modificar casi cualquier elemento de su jerarquía de objetos.

En este tutorial, veremos cómo cambiar la frecuencia de tick en Matplotlib. Haremos esto tanto a nivel de figura como a nivel de eje.

¿Cómo cambiar la frecuencia de tick en Matplotlib?

Comencemos con una trama simple. Trazaremos dos líneas, con valores aleatorios:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.subplots(figsize=(12, 6))

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)

plt.plot(x, color="blue")
plt.plot(y, color="black")

plt.show()

x y y rango de 0-50, y la longitud de estos arreglos es 100. Esto significa que tendremos 100 puntos de datos para cada uno de ellos. Luego, simplemente graficamos estos datos en el Axes objeto y mostrarlo a través de la instancia de PyPlot plt:

Ahora, la frecuencia de los tics en el eje X es 20. Se establecen automáticamente en una frecuencia que parece adecuada para el conjunto de datos que proporcionamos.

A veces, nos gustaría cambiar esto. Tal vez queramos reducir o aumentar la frecuencia. ¿Qué pasaría si quisiéramos tener una marca en cada 5 pasos, no en 20?

Lo mismo ocurre con el eje Y. ¿Qué pasa si la distinción en este eje es aún más crucial y quisiéramos tener cada marca en cada paso?

Configuración de la frecuencia de tick a nivel de figura en Matplotlib

Cambiemos la frecuencia de tick a nivel de figura. Esto significa que si tenemos varios Axes, las marcas en todos estos serán uniformes y tendrán la misma frecuencia:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.subplots(figsize=(12, 6))

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)

plt.plot(x, color="blue")
plt.plot(y, color="black")

plt.xticks(np.arange(0, len(x)+1, 5))
plt.yticks(np.arange(0, max(y), 2))

plt.show()

Puedes usar el xticks() y yticks() funciones y pasar una matriz. En el eje X, esta matriz comienza en 0 y termina a lo largo del x formación. En el eje Y, comienza en 0 y termina en el valor máximo de y. También puede codificar las variables.

El argumento final es el step. Aquí es donde definimos qué tan grande debe ser cada paso. Tendremos un tic en cada 5 pasos en el eje X y una marca en cada 2 pasos en el eje Y:

Configuración de la frecuencia de tick a nivel de eje en Matplotlib

Si tiene varios gráficos en curso, es posible que desee cambiar la frecuencia de marcación en el nivel del eje. Por ejemplo, querrá tics raros en un gráfico, mientras que querrá tics frecuentes en el otro.

Puedes usar el set_xticks() y set_yticks() funciones en el devuelto Axes instancia al agregar subtramas a un Figure. Vamos a crear un Figure con dos ejes y cambie la frecuencia de tick en ellos por separado:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(12, 6))

ax = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

x = np.random.randint(low=0, high=50, size=100)
y = np.random.randint(low=0, high=50, size=100)
z = np.random.randint(low=0, high=50, size=100)

ax.plot(x, color="blue")
ax.plot(y, color="black")
ax2.plot(y, color="black")
ax2.plot(z, color="green")

ax.set_xticks(np.arange(0, len(x)+1, 5))
ax.set_yticks(np.arange(0, max(y), 2))
ax2.set_xticks(np.arange(0, len(x)+1, 25))
ax2.set_yticks(np.arange(0, max(y), 25))

plt.show()

Ahora, esto resulta en:

Conclusión

En este tutorial, hemos repasado varias formas de cambiar la frecuencia de ticks en Matplotlib tanto a nivel de figura como a nivel de eje.

Si está interesado en la visualización de datos y no sabe por dónde empezar, asegúrese de consultar nuestro libro sobre Visualización de datos en Python.

Data Visualization in Python, un libro para desarrolladores de Python principiantes e intermedios, lo guiará a través de la manipulación simple de datos con Pandas, cubrirá bibliotecas de trazado centrales como Matplotlib y Seaborn, y le mostrará cómo aprovechar las bibliotecas declarativas y experimentales como Altair.

 

Visualización de datos en Python

¡Comprenda mejor sus datos con visualizaciones! Con 340 páginas, aprenderá los entresijos de la visualización de datos en Python con bibliotecas populares como Matplotlib, Seaborn, Bokeh y más.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad