Supprimer xticks dans un tracé matplotlib?
J'ai un tracé semilogx et je voudrais supprimer les xticks. J'ai essayé:
plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])
La grille disparaît (ok), mais de petites tiques (à la place des tiques principales) restent. Comment les supprimer?
7 réponses
Le tick_params
la méthode est très utile pour des trucs comme ça. Ce code désactive les tiques majeures et mineures et supprime les étiquettes de l'axe des abscisses.
from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
axis='x', # changes apply to the x-axis
which='both', # both major and minor ticks are affected
bottom=False, # ticks along the bottom edge are off
top=False, # ticks along the top edge are off
labelbottom=False) # labels along the bottom edge are off
plt.show()
plt.savefig('plot')
plt.clf()
Pas exactement ce que l'OP demandait, mais un moyen simple de désactiver toutes les lignes d'axes, les tiques et les étiquettes est d'appeler simplement:
plt.axis('off')
Voici une solution alternative que j'ai trouvée sur la liste de diffusion matplotlib :
import matplotlib.pylab as plt
x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none')
Vous pouvez également passer une position de coche vide et étiqueter
plt.xticks([], [])
Il y a une meilleure solution, et plus simple, que celle donnée par John Vinyard. Utiliser NullLocator
:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')
J'espère que ça aide.
Cet extrait peut aider à supprimer les xticks uniquement.
from matplotlib import pyplot as plt
plt.xticks([])
Cet extrait peut aider à supprimer les xticks et les yticks.
from matplotlib import pyplot as plt
plt.xticks([]),plt.yticks([])