Definir o número de carrapatos no Matplotlib

Suraj Joshi 15 fevereiro 2024
  1. Definir número de carrapatos utilizando a classe Matplotlib.ticker.MaxNLocator
  2. Set Number Ticks Utilizando o Matplotlib.axis.Axis.set_ticks() Método
Definir o número de carrapatos no Matplotlib

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:

Carraças predefinidas em Matplotlib

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:

Definir o número de carrapatos da parcela utilizando a classe Matplotlib.ticker.MaxNLocator

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:

Definir o número de carrapatos da parcela utilizando a condição se

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:

Número de tiquetaques de plotting definido utilizando o método set_ticks

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 avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Matplotlib Ticks