posizionare le etichette tra le zecche
-
06-07-2019 - |
Domanda
in matplotlib, come posiziono le etichette dei tick tra i tick (non sotto i tick)
per esempio: quando tracciamo un prezzo delle azioni nel tempo, vorrei che i segni di spunta minori dell'asse x mostrassero i mesi e gli anni mostrassero tra segni di spunta principali consecutivi dell'asse x (non solo sotto i segni di spunta principali)
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
jan feb mar apr may jun jul aug sep oct nov dec jan feb mar apr may jun jul aug sep
2008 2009
Soluzione
Sarà questo 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')
Altri suggerimenti
Intendi qualcosa del genere: - http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html ??
È necessario utilizzare xticks e il parametro ha (o 'allineamento orizzontale'):
>>> 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')
consulta help (xticks) e help (matplotlib.text.Text) per ulteriori opzioni
modifica: scusa, non ho visto che stai anche chiedendo come mettere le etichette degli anni sotto le zecche. Penso che devi farlo manualmente, dai un'occhiata all'esempio che ho collegato per vedere come farlo.