Définir le nombre de tiques de tracé dans Matplotlib

  1. Définir le nombre de tiques en utilisant la classe Matplotlib.ticker.MaxNLocator
  2. Définir le nombre de tiques en utilisant la méthode Matplotlib.axis.Axis.set_ticks()

Ce tutoriel explique comment définir le nombre de tics dans une figure Matplotlib en utilisant la classe Matplotlib.ticker.MaxNLocator et la méthode 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()

Production :

Nombre de tics par défaut dans Matplotlib

Il affiche une figure de Matplotlib avec le nombre de tiques par défaut. Nous modifierons le nombre de tiques dans la figure en utilisant différentes méthodes.

Définir le nombre de tiques en utilisant la classe Matplotlib.ticker.MaxNLocator

La classe Matplotlib.ticker.MaxNLocator définit un paramètre nommé nbins représentant le nombre maximum de bacs. Le nombre de tiques sera supérieur d’une unité au nombre de bacs. Ainsi, le paramètre nbins de la classe Matplotlib.ticker.MaxNLocator implique que le nombre de tics ne peut pas être supérieur à 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()

Production :

Définir le nombre de tics du tracé en utilisant la classe Matplotlib.ticker.MaxNLocator

Il fixe à 5 le nombre maximum de bacs pour l’axe des Y dans la figure, ce qui implique que le nombre maximum de tiques est de 6. De même, on peut aussi fixer des tiques pour l’axe des X.

Nous pouvons également utiliser certaines conditions avec l’instruction if pour ne sélectionner que les cases particulières qui remplissent la condition.

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

Production :

Nombre de tiques de la parcelle en utilisant la condition if

Il définit des étiquettes pour les tiques uniquement à des positions égales sur les axes X et Y. Il supprime les étiquettes de tique, mais les tiques sont toujours là. Nous pouvons modifier la condition pour personnaliser les étiquettes de tique.

Définir le nombre de tiques en utilisant la méthode Matplotlib.axis.Axis.set_ticks()

Nous pouvons également définir les axes en utilisant la fonction 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()

Production :

Définir le nombre de tics de tracé en utilisant la méthode set_ticks

Il définit le nombre de tiques et les valeurs de tiques spécifiées dans la méthode set_ticks(). Nous passons un tableau NumPy ou une liste à la méthode set_ticks() en fonction de laquelle les valeurs de tique seront définies.