2009-10-25 22 views
7

w matplotlib, jak mogę umieścić kleszcze etykiet między kleszcze (nie poniżej kleszcze)miejsce etykiety między kleszcze

na przykład: podczas drukowania cenę akcji z czasem chciałbym osi x drobne kleszczy do wyświetlenia miesięcy i lata, aby pokazać się pomiędzy kolejnymi osi x wielkich kleszczy (nie tylko poniżej głównego kleszcze)

---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--- 
    jan feb mar apr may jun jul aug sep oct nov dec jan feb mar apr may jun jul aug sep 
         2008           2009 

Odpowiedz

5

Czy to wystarczy?

enter code here 
x = 'j f m a m j j a s o n d j f m a m j j a s o n d'.split() 
y = abs(randn(24)) 
x[6] = 'j\n2008' # replace "j" (January) with ('j' and the appropriate year 
x[18] = 'j\n2009' 
bar(xrange(len(x)), y, width=0.1) 
bar(xrange(len(x)), y, width=0.1) 
xticks(xrange(len(x)), x, ha='center') 

Barchart with proper labels

+0

Obrazy niedostępne (strona główna ImageShack) –

+0

@PierreCordier Dzięki stałej –

1

Czy masz na myśli coś takiego: - http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html ??

Musisz użyć xticks i ha (lub '') horizontalAlignment parametr:

>>> x = 'j f m a m j j a s o n d'.split() 
>>> y = abs(randn(12)) 
>>> bar(xrange(len(x)), y, width=0.1) 

>>> xticks(xrange(len(x)), x, ha='center') 

spojrzeć na pomoc (xticks) i pomoc (matplotlib.text.Text) Aby uzyskać więcej opcji

edit: Przepraszam, nie widziałem, że pytasz także o to, jak umieścić etykiety lat poniżej kleszczy. Myślę, że musisz zrobić to ręcznie, spójrz na przykład, który podłączyłem, aby zobaczyć, jak to zrobić.

Powiązane problemy