Establecer el número de ticks en Matplotlib

Suraj Joshi 30 enero 2023
  1. Establecer el número de ticks usando la clase Matplotlib.ticker.MaxNLocator
  2. Establecer el número de garrapatas usando el método Matplotlib.axis.Axis.set_ticks()
Establecer el número de ticks en Matplotlib

Este tutorial explica cómo podemos establecer el número de ticks en una figura de Matplotlib usando la clase Matplotlib.ticker.MaxNLocator y el método set_ticks().

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Resultado:

Ticks por defecto en Matplotlib

Muestra una figura Matplotlib con el número de garrapatas predeterminado. Cambiaremos el número de garrapatas de la figura usando diferentes métodos.

Establecer el número de ticks usando la clase Matplotlib.ticker.MaxNLocator

La clase Matplotlib.ticker.MaxNLocator define un parámetro llamado nbins que representa el número máximo de bins. El número de ticks será uno más que el número de bins. Así que el parámetro nbins en la clase Matplotlib.ticker.MaxNLocator implica que el número de ticks no puede ser mayor que nbins+1.

import math
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.yaxis.set_major_locator(MaxNLocator(5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Resultado:

Establecer el número de ticks de la gráfica usando la clase Matplotlib.ticker.MaxNLocator

Establece el número máximo de contenedores para el eje Y de la figura en 5, lo que implica que el número máximo de garrapatas es de 6. Del mismo modo, también podemos establecer garrapatas para el eje X.

Alternativamente, también podemos usar ciertas condiciones con la declaración if para seleccionar sólo las garrapatas particulares que satisfacen la condición.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
for i, tick in enumerate(axes.xaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
for i, tick in enumerate(axes.yaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Resultado:

Establecer el número de garrapatas de la gráfica usando la condición if

Establece etiquetas de garrapatas sólo para garrapatas en posición uniforme en los ejes X e Y. Aunque elimina las etiquetas de las garrapatas, las garrapatas siguen ahí. Podemos cambiar la condición para personalizar las etiquetas de las garrapatas.

Establecer el número de garrapatas usando el método Matplotlib.axis.Axis.set_ticks()

También podemos fijar los ejes usando el Matplotlib.axis.Axis.set_ticks() en Python.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.xaxis.set_ticks([0, 1, 3, 4, 5, 6])
axes.yaxis.set_ticks(np.linspace(-1, 1, 5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Resultado:

Establecer el número de garrapatas de la gráfica usando el método set_ticks

Establece el número de garrapatas y los valores de garrapatas especificados en el método set_ticks(). Pasamos un array NumPy o una lista a los set_ticks() en base a la cual se establecerán los valores de las marcas.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Matplotlib Ticks