98

我需要使用一些股票数据制作烛台图(类似这样)。为此,我想使用函数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做一些事情,但我不确定到底是什么。

有人可以在这里帮我一点吗?欢迎所有提示!

4

2 回答 2

199

使用gca("get current axes") 辅助函数:

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

在此处输入图像描述

于 2013-02-25T13:14:46.330 回答
17

你可以

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

或者

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

第一个给你更多的灵活性。如果烛台是您想要绘制的唯一内容,则第二个更容易

于 2013-02-25T13:25:06.697 回答