Modifier les tiques texte de l'étiquette

Je tiens à apporter quelques modifications à quelques étiquettes de graduation dans une parcelle.

Par exemple, si je fais:

label = axes.yaxis.get_major_ticks()[2].label
label.set_fontsize(size)
label.set_rotation('vertical')

la taille de la police et de l'orientation de l'étiquette de graduation est changé.

Toutefois, si vous essayez:

label.set_text('Foo')

l'étiquette de graduation est pas modifié. Aussi, si je fais:

print label.get_text()

rien n'est imprimé.

Voici quelques étrangeté. Quand j'ai essayé ceci:

 from pylab import *
 axes = figure().add_subplot(111)
 t = arange(0.0, 2.0, 0.01)
 s = sin(2*pi*t)
 axes.plot(t, s)
 for ticklabel in axes.get_xticklabels():
     print ticklabel.get_text()

Seulement des chaînes vides sont imprimés, mais l'intrigue contient les tiques étiquetés comme '0.0', '0.5', '1.0', '1.5', et '2.0'.

  • Pouvez-vous fournir la parcelle que vous avez utilisé pour obtenir le label?
  • Voir l'extrait ci-dessus
  • Vous obtenez des étiquettes vierges parce que vous n'avez pas établi la toile encore. Si vous appelez draw() avant d'essayer d'imprimer les étiquettes, vous obtiendrez ce que vous attendez. La configuration des étiquettes de graduation est malheureusement un peu plus difficile (ce qui se passe est que la tique locator et formateur n'a pas été remis à zéro et il remplace les choses lorsque vous set_text). Je vais ajouter un exemple un peu, si quelqu'un ne veut pas me battre pour elle. Je dois prendre le bus, à l'instant.
  • Super! Hâte de voir votre correction.
  • Eh bien, il semble que j'ai parlé d'une touche trop tôt. Ce que j'avais à l'esprit fonctionne pour les versions plus anciennes de matplotlib, mais pas la dernière version. J'ai besoin de faire un peu plus de creuser. Ceci étant dit, cela ne devrait pas être aussi compliqué que c'est...
InformationsquelleAutor repoman | 2012-06-28