web-dev-qa-db-ja.com

プロットするmatplotlib Axesインスタンスを取得する方法は?

株価データを使用してローソク足チャート(このようなもの)を作成する必要があります。このために、関数 matplotlib.finance.candlestick() を使用します。この関数には、引用符と「Axesインスタンスをプロットする」を指定する必要があります。次のようにいくつかのサンプル引用を作成しました。

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

ただし、Axesインスタンスも必要になったため、少し迷っています。 matplotlib.pyplotを使用する前にプロットを作成しました。私は今、 matplotlib.axes で何かをする必要があると思いますが、正確に何がわからないのですか。

ここで誰か助けてくれますか?すべてのヒントを歓迎します!

55
kramer65

gca ( "現在の軸を取得")ヘルパー関数を使用します。

ax = plt.gca()

例:

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

110
wim

あなたはどちらか

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

または

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

1つ目は柔軟性を高めます。ローソク足だけをプロットしたい場合は、2番目の方がはるかに簡単です。

10