Imposta il numero di tick in Matplotlib

Suraj Joshi 30 gennaio 2023
  1. Impostare il numero di tick utilizzando la classe Matplotlib.ticker.MaxNLocator
  2. Impostare i tick dei numeri utilizzando il metodo Matplotlib.axis.Axis.set_ticks()
Imposta il numero di tick in Matplotlib

Questo tutorial spiega come possiamo impostare il numero di tick in una figura Matplotlib usando la classe Matplotlib.ticker.MaxNLocator e il metodo 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()

Produzione:

Segni di spunta predefiniti in Matplotlib

Mostra una figura Matplotlib con il numero predefinito di tick. Modificheremo il numero di zecche nella figura utilizzando metodi diversi.

Impostare il numero di tick utilizzando la classe Matplotlib.ticker.MaxNLocator

La classe Matplotlib.ticker.MaxNLocator definisce un parametro chiamato nbins che rappresenta il numero massimo di bin. Il numero di tick sarà uno in più rispetto al numero di bin. Quindi il parametro nbins nella classe Matplotlib.ticker.MaxNLocator implica che il numero di tick non può essere maggiore di 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()

Produzione:

Imposta il numero di segni di graduazione del grafico utilizzando la classe Matplotlib.ticker.MaxNLocator

Imposta il numero massimo di bin per l’asse Y nella figura a 5, il che implica che il numero massimo di tick è 6. Allo stesso modo, possiamo impostare tick anche per l’asse X.

In alternativa, possiamo anche utilizzare determinate condizioni con l’istruzione if per selezionare solo i tick particolari che soddisfano la condizione.

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()

Produzione:

Imposta il numero di segni di graduazione del grafico utilizzando la condizione if

Imposta le etichette delle tacche solo per le tacche in posizione pari sia sull’asse X che sull’asse Y. Sebbene rimuova le etichette di spunta, le zecche sono ancora lì. Possiamo cambiare la condizione per personalizzare le etichette delle tacche.

Impostare i tick dei numeri utilizzando il metodo Matplotlib.axis.Axis.set_ticks()

Possiamo anche impostare gli assi usando Matplotlib.axis.Axis.set_ticks() in 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()

Produzione:

Imposta il numero di segni di graduazione del grafico utilizzando il metodo set_ticks

Imposta il numero di tick e i valori di tick specificati nel metodo set_ticks(). Passiamo un array NumPy o una lista a set_ticks() in base al quale verranno impostati i valori di tick.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Articolo correlato - Matplotlib Ticks