2009-10-25 3 views
7

in matplotlib, Come faccio a piazzare le zecche etichette tra zecche (non inferiore zecche)luogo etichette tra zecche

ad esempio: quando si stampa un prezzo del titolo nel corso del tempo vorrei che la x asse zecche minori da mostrare mesi e gli anni di presentarsi tra x assi consecutivi principali zecche (non solo al di sotto della maggiore zecche)

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

risposta

5

Questo farà il trucco?

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

Immagini non disponibili (home page di ImageShack) –

+0

@PierreCordier Grazie, fisso –

1

Vuoi dire qualcosa di simile: - http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html ??

È necessario utilizzare xticks e l'ha (o 'HorizontalAlignment') Parametro:

>>> 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') 

sguardo aiuto (xticks) e di aiuto (matplotlib.text.Text) per ulteriori opzioni

edit: scusa, non ho visto che stai anche chiedendo come mettere le etichette degli anni sotto le zecche. Penso che devi farlo manualmente, dare un'occhiata all'esempio che ho collegato per vedere come farlo.