web-dev-qa-db-fra.com

Masquer les valeurs d'axe dans matplotlib

J'ai cette image:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()

enter image description here

Et je ne veux pas cacher les chiffres, si j'utilise

plt.axis('off')

Je reçois cette image:

enter image description here

Il masque également les étiquettes, V et t. Comment puis-je conserver les étiquettes tout en cachant les valeurs?

Si vous utilisez la méthode matplotlib approche orientée objet , il s’agit d’une tâche simple qui utilise ax.set_xticklabels() et ax.set_yticklabels():

import matplotlib.pyplot as plt

# Create Figure and Axes instances
fig,ax = plt.subplots(1)

# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')

# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])

plt.show()
85
tmdavison

Sans subplots, vous pouvez supprimer universellement les ticks comme ceci:

plt.xticks([])
plt.yticks([])
62
Noel Evans

Cela fonctionne très bien. Il suffit de coller ceci avant plt.show():

plt.gca().axes.get_yaxis().set_visible(False)

Boom.

27
MRT

Pas sûr que ce soit la meilleure façon, mais vous pouvez certainement remplacer les étiquettes de ticks comme ceci:

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()

Dans Python 3.4, cela génère un tracé de ligne simple sans étiquettes de graduation sur l'axe des x. Voici un exemple simple: http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

Cette question connexe propose également de meilleures suggestions: Masquage du texte de l'axe dans les tracés matplotlib

Je suis nouveau sur Python. Votre kilométrage peut varier dans les versions précédentes. Peut-être que d'autres peuvent aider?

2
Joe Gavin