2013-02-25 15 views
29

Ho bisogno di fare un grafico a candele (qualcosa di simile a questo) usando alcuni dati di magazzino. Per questo voglio usare la funzione matplotlib.finance.candlestick(). Per questa funzione ho bisogno di fornire preventivi e "un'istanza Axes da tracciare su". Ho creato alcune citazioni di esempio come segue:Come ottenere un'istanza Axes matplotlib da tracciare?

quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 

ora anche bisogno di un'istanza Assi, però, in cui io sono un po 'perso. Ho creato i grafici prima di utilizzare matplotlib.pyplot. Penso che ora devo fare qualcosa con matplotlib.axes, ma non sono sicuro di cosa sia esattamente.

Qualcuno potrebbe aiutarmi un po 'qui? Tutti i suggerimenti sono ben accetti!

risposta

55

Utilizzare la funzione gca ("get assi correnti") helper:

ax = plt.gca() 

Esempio:

import matplotlib.pyplot as plt 
import matplotlib.finance 
quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 
ax = plt.gca() 
h = matplotlib.finance.candlestick(ax, quotes) 
plt.show() 

enter image description here

+0

È fantastico! Funziona come un fascino, grazie! – kramer65

7

È possibile

fig, ax = plt.subplots() #create figure and axes 
candlestick(ax, quotes, ...) 

o

candlestick(plt.gca(), quotes) #get the axis when calling the function 

Il primo offre maggiore flessibilità. Il secondo è molto più semplice se la candela è l'unica cosa che si desidera tracciare

Problemi correlati