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!

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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.