Establecer el número de ticks en Matplotlib
-
Establecer el número de ticks usando la clase
Matplotlib.ticker.MaxNLocator
-
Establecer el número de garrapatas usando el método
Matplotlib.axis.Axis.set_ticks()
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:
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:
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:
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:
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 is a backend software engineer at Matrice.ai.
LinkedIn