Definir o número de carrapatos no Matplotlib
-
Definir número de carrapatos utilizando a classe
Matplotlib.ticker.MaxNLocator
-
Set Number Ticks Utilizando o
Matplotlib.axis.Axis.set_ticks()
Método
Este tutorial explica como podemos definir o número de ticks numa figura Matplotlib utilizando a classe Matplotlib.ticker.MaxNLocator
e o 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:
Mostra uma figura Matplotlib com o número padrão de carrapatos. Alteraremos o número de carrapatos na figura utilizando diferentes métodos.
Definir número de carrapatos utilizando a classe Matplotlib.ticker.MaxNLocator
A classe Matplotlib.ticker.MaxNLocator
define um parâmetro chamado nbins
que representa o número máximo de bins. O número de ticks será um a mais do que o número de contentores. Assim, o parâmetro nbins
na classe Matplotlib.ticker.MaxNLocator
implica que o número de ticks não pode ser superior a 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:
Define o número máximo de caixas para o eixo Y na figura para 5, o que implica que o número máximo de carraças é 6. Da mesma forma, também podemos definir carraças para o eixo X.
Alternativamente, também podemos utilizar certas condições com a declaração if
para seleccionar apenas as carraças específicas que satisfazem a condição.
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:
Define etiquetas de carrapatos apenas para carrapatos em posição uniforme tanto no eixo X como no eixo Y. Embora remova as etiquetas das carraças, as carraças continuam lá. Podemos alterar a condição para personalizar as etiquetas das carraças.
Set Number Ticks Utilizando o Matplotlib.axis.Axis.set_ticks()
Método
Também podemos definir os eixos utilizando o Matplotlib.axis.Axis.set_ticks()
em 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:
Define o número de carrapatos e valores de carrapatos especificados no método set_ticks()
. Passamos um array NumPy ou uma lista aos set_ticks()
com base na qual os valores das carraças serão definidos.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn