48 votes

Masquage des étiquettes d'axe

J'essaie de masquer les étiquettes des axes sur le premier sous-graphe à 211. J'aimerais étiqueter la figure, et pas seulement un sous-graphe (référence : "Isub Event Characteristics"). Comment puis-je contrôler les propriétés de la police comme la taille, la police, la couleur ?

f = Figure()

vdsvgsPlot = f.add_subplot(211)
vdsvgsPlot.plot(theLister()[3],theLister()[0])
vdsvgsPlot.plot(theLister()[3],theLister()[1])

isubPlot = f.add_subplot(212)
isubPlot.plot(theLister()[3],theLister()[2])

plotCanvas = FigureCanvasTkAgg(f, master)
toolbar = NavigationToolbar2TkAgg(plotCanvas, master)

plotCanvas.get_tk_widget().pack()

Merci d'avance.

92voto

Joe Kington Points 68089

Vous avez plusieurs questions différentes ici... Laissez-moi les séparer un peu...

Par "masquer les étiquettes d'axe sur le premier sous-graphe", vous voulez dire les étiquettes d'axe réelles (qui ne sont pas là à moins que vous ne les spécifiez), les étiquettes de tic (c'est-à-dire les chiffres le long de l'axe), les tic de l'axe, ou tout cela ?

Si vous voulez dire "tout ce qui précède", il suffit de faire ax.xaxis.set_visible(False) et de même pour l'axe des ordonnées. ( ax ici serait vdsvgsPlot dans votre exemple de code ci-dessus)

Si vous voulez parler des étiquettes de tic-tac des axes, il suffit de leur donner la valeur suivante [] c'est-à-dire : ax.set_xticklabels([]) . (et set_yticklabels pour l'axe des y)

Si vous voulez parler des tics de l'axe, vous pouvez faire quelque chose de similaire : ax.set_xticks([]) et ax.set_yticks([]) qui désactivera à la fois les tics et les ticklabels.

Pour ce qui est de la deuxième question, utilisez suptitle pour donner un titre à l'ensemble de la figure, par exemple : fig.suptitle('whatever') ( f.suptitle... dans votre exemple de code ci-dessus).

Quant à savoir comment contrôler les propriétés de la police vous pouvez soit passer divers arguments de mots-clés à suptitle (ou toute autre chose qui crée du texte sur un tracé) ou les définir après avoir créé le texte. Par exemple fig.suptitle('This is a title', size=20, horizontalalignment='left', font='Times', color='red')

En général, je vous suggère d'examiner les diverses guide de l'utilisateur , galerie d'exemples (dont le code source est inclus dans tous les cas), l'application docs api pyplot et les d docs api détaillés .

J'espère que cela vous aidera !

57voto

Essayez d'utiliser .xaxis.label.set_visible(False)

5 votes

Cette solution répond à mes besoins, j'ai besoin que les ticks soient présents tout en cachant uniquement l'étiquette.

8 votes

C'est une solution incroyable. J'ai dû parcourir tant de réponses idiotes et stupides dans d'autres postes. Merci beaucoup !

0voto

ahbon Points 711

Essayez ceci, s'il vous plaît :

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.xlabel(None)
plt.ylabel(None)

plt.show()

Dehors :

enter image description here

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