Wie bekomme ich eine matplotlib Axes-Instanz zum Plotten?

76

Ich muss ein Candlestick-Diagramm (so ähnlich) mit einigen Bestandsdaten erstellen. Dafür möchte ich die Funktion matplotlib.finance.candlestick () verwenden . Für diese Funktion muss ich Anführungszeichen und " eine Axes-Instanz zum Plotten " angeben . Ich habe einige Beispielzitate wie folgt erstellt:

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

Ich brauche jetzt aber auch eine Axes-Instanz, bei der ich etwas verloren bin. Ich habe Diagramme erstellt, bevor ich matplotlib.pyplot verwendet habe. Ich denke, ich muss jetzt etwas mit matplotlib.axes machen , aber ich bin mir nicht sicher, was genau.

Könnte mir hier jemand ein bisschen helfen? Alle Tipps sind willkommen!

kramer65
quelle

Antworten:

164

Verwenden Sie die Hilfsfunktion gca("Aktuelle Achsen abrufen"):

ax = plt.gca()

Beispiel:

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

Geben Sie hier die Bildbeschreibung ein

wim
quelle
13

Du kannst entweder

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

oder

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

Der erste gibt Ihnen mehr Flexibilität. Der zweite ist viel einfacher, wenn nur Kerzenhalter gezeichnet werden sollen

Francesco Montesano
quelle