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?

176
demandé sur edwinksl 2012-10-21 17:53:56

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

entrez la description de l'image ici

302
répondu John Vinyard 2018-05-02 15:10:49

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')
65
répondu Martin Spacek 2014-01-24 00:38:53

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

graphique

48
répondu Tom Phillips 2015-11-14 10:56:26

Vous pouvez également passer une position de coche vide et étiqueter

plt.xticks([], [])
41
répondu hashmuke 2016-09-20 15:39:22

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.

38
répondu dmcdougall 2012-10-21 16:37:39

Essayez ceci pour enlever les étiquettes (mais pas les tiques):

import matplotlib.pyplot as plt

plt.setp( ax.get_xticklabels(), visible=False)

Exemple

21
répondu auraham 2014-03-20 15:16:41

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([])
3
répondu Amitrajit Bose 2018-06-12 16:35:29