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
È stato utile?

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

 Barchart con etichette appropriate

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top