Nombre de tiques dans Matplotlib

Suraj Joshi 15 février 2024
  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()
Nombre de tiques dans Matplotlib

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 appelé nbins qui représente 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, nous pouvons également 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 :

Fixer le nombre de tiques de la parcelle en utilisant la condition if

Il définit des étiquettes pour les tiques seulement à une position égale dans les axes X et Y. Bien qu’il supprime les étiquettes de tique, 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.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Article connexe - Matplotlib Ticks