2014-07-18 17 views
5

Próbuję dodać tekst do figury, które chciałbym dostosować do xlabel osi. Chcę znaleźć współrzędne xlabel, ale funkcja ax.get_xlabel() zwraca tylko ciąg znaków wyświetlany na etykiecie.Jak uzyskać dostęp do obiektu etykiety osi w matplotlib?

Jak uzyskać dostęp do obiektu xlabel (który, jak zakładam, jest tylko instancją text), aby znaleźć jego współrzędne, lub czy istnieją inne sposoby ich uzyskania?

+0

pewien, że jest w docs z przykładów. – wwii

+0

@ Dobrze, jeśli chciałbyś wskazać mi, gdzie mógłbym to znaleźć, byłoby wspaniale. Jedyne funkcje, które znalazłem w dokumentach to 'set_xlabel()' i 'get_xlabel()', które działają tylko na wartości ciągu – user3419537

+0

Rozpocznij od początku [Artist Tutorial] (http://matplotlib.org/users/ artists.html), na samym początku istnieje wskazówka co do rozwiązania. Warto wiedzieć, czy chcesz mieć lepszą kontrolę nad swoimi postaciami i/lub będziesz często używać matplolib. – wwii

Odpowiedz

5

Rozwiązaniem nie jest w użyciu ax.get_xlabel(), ale:

xlbl = ax.xaxis.get_label() 

Albo jak WWII wskazał, wystarczy zapisać odniesienie do etykiety podczas jej tworzenia. Zaskakująco prosty.

xlbl = ax.set_xlabel(...) 

i uzyskać współrzędne:

xlbl.get_position() 
+0

Dlaczego jest to odrzucane? Odpowiada na pytanie. – user3419537

+0

możesz zostać cofnięty (nie ja), ponieważ twoja odpowiedź nie pokazuje * jak dokładnie * teraz otrzymujesz współrzędne (o to właśnie prosiłeś). może mógłbyś pokazać, jak wyodrębniasz współrzędne z 'xlbl' (aby zdobyć uptoote, może pokazać jak je później zmienić) – Schorsch

+0

Dzięki @Schorsch, myślę, że sposób w jaki napisałem moje pytanie sprawia, że ​​brzmi to w ten sposób. Nacisk był po to, aby znaleźć obiekt, ponieważ wiedziałem już, jak uzyskać jego współrzędne. Dodam go do kompletności, ale nadal nie uważam, że głosowanie było uzasadnione. – user3419537

Powiązane problemy