Nombre de tiques dans Matplotlib
-
Définir le nombre de tiques en utilisant la classe
Matplotlib.ticker.MaxNLocator
-
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 :
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 :
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 :
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 :
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.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn