141 votes

Masquer les valeurs des axes mais conserver les étiquettes des tics des axes 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

Je veux cacher les chiffres ; si j'utilise :

plt.axis('off')

...j'obtiens cette image :

enter image description here

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

2voto

Joe Gavin Points 64

Je ne suis pas sûr que ce soit la meilleure solution, mais vous pouvez certainement remplacer les étiquettes de coche 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 simple tracé linéaire sans étiquette sur l'axe des abscisses. Vous trouverez un exemple simple ici : http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

Cette question connexe contient également de meilleures suggestions : Masquage du texte des axes dans les graphiques de matplotlib

Je suis nouveau dans le monde de Python. Votre kilométrage peut varier dans les versions antérieures. Peut-être que d'autres peuvent vous aider ?

2voto

Mauricio Arboleda Points 113

Cela fonctionne aussi.

fig, ax = plt.subplots()
ax.yaxis.set_major_locator(plt.NullLocator())
ax.xaxis.set_major_formatter(plt.NullFormatter())

voir ce livre pour de bons conseils pour personnaliser les ticks https://jakevdp.github.io/PythonDataScienceHandbook/04.10-customizing-ticks.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X