477 votes

Cacher le texte de l’axe dans les parcelles matplotlib

Je suis en train de tracer une figure sans les graduations ou des chiffres sur l'un des axes (j'utilise des axes dans le sens traditionnel du terme, pas le matplotlib nomenclature!). Un problème que j'ai rencontré est où matplotlib ajuste le x(y)ticklabels en soustrayant une valeur de N, puis ajoute N à l'extrémité de l'axe.

Cela peut être vague, mais l'exemple simplifié met en évidence la question, avec "6.18" être le fautif valeur de N:

import matplotlib.pyplot as plt
import random
prefix = 6.18

rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')

frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
    xlabel_i.set_visible(False)
    xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
    xlabel_i.set_fontsize(0.0)
    xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
    tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
    tick.set_visible(False)

plt.show()

Les trois choses que je voudrais savoir:

  1. Comment faire pour désactiver ce comportement en premier lieu (bien que dans la plupart des cas, il est utile, il n'est pas toujours!) J'ai regardé à travers matplotlib.axis.XAxis et ne peut pas trouver quelque chose appropriée

  2. Comment puis-je faire N disparaître (c'est à dire X.set_visible(False))

  3. Est-il une meilleure façon de le faire ci-dessus, de toute façon? Mon intrigue finale serait 4x4 intrigues secondaires dans une figure, si cela est pertinent.

592voto

Ofri Raviv Points 10600

Au lieu de cacher chaque élément, vous pouvez masquer l’axe entier :

Sinon, vous pouvez définir les tiques à une liste vide :

Dans cette deuxième option, vous pouvez toujours utiliser et pour ajouter des étiquettes aux axes.

266voto

Saullo Castro Points 12260

Si vous voulez cacher juste le texte de l’axe gardant les lignes de la grille :

Faire ou permet également de masquer les lignes de la grille.

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