web-dev-qa-db-fra.com

Comment cacher l'étiquette des tiques en python tout en gardant les tiques en place?

Je veux masquer mon étiquette de ticks sur un tracé que j'ai créé, mais je garde cette tick elle-même (les petites marques sur l'axe). Lorsque j'essaie d'utiliser ce que j'ai trouvé ici , par exemple, toute la tique est supprimée, et pas seulement les étiquettes. Comment puis-je enlever seulement les étiquettes alors? 

28
Yotam

Définissez les étiquettes de ticks non comme des tableaux vides, mais comme une liste de chaînes vides. Dans l'exemple ci-dessous, j'ai remplacé les étiquettes de xtick par des chaînes vides, en laissant l'axe y intact. De là, vous pouvez conserver certaines étiquettes de manière sélective si vous le souhaitez.

import pylab as plt

fig, ax = plt.subplots()
ax.plot([1,2,3],[4,5,6])

labels = [item.get_text() for item in ax.get_xticklabels()]

empty_string_labels = ['']*len(labels)
ax.set_xticklabels(empty_string_labels)

plt.show()

enter image description here

Ce code est adapté de une réponse précédente .

14
Hooked

Voici une réponse un peu plus simple, en utilisant ax.tick_params

import matplotlib.pylab as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(labelbottom=False)    

plt.show()
74
divenex

Je n'ai pas trouvé la réponse de Divenex pour travailler pour moi. Cette réponse crée des ticks sans déclencher d'étiquetage automatique, d'où l'absence d'obligation d'utiliser "labelbottom = False":

si les ticks bas et gauche existent déjà: 

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(right= True,top= True)

si aucune tique n'existe déjà:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.plot([1,2,3],[4,5,6])

ax.tick_params(right= True,top= True,left= True, bottom= True)
0
jbplasma