我刚开始使用Python / Pandas并将以下代码放在一起绘制标准普尔500指数 .
from pandas.io.data import DataReader
# returns a DataFrame
sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1))
sp500.plot(figsize = (12,8))
看起来这是在一张图上绘制高,低,开,关,调和闭合的全部图 . 是否有一种简单的方法可以在一个图表中绘制adj close,并在其下方like they do on Yahoo以及大多数其他金融站点下方绘制音量?我也对绘制OHLC烛台图的一个例子感兴趣 .
2 回答
有关mathplotlib的财务烛台图的更多信息,请参阅here以获取类似问题的答案,并查看here .
要从sp500获得接近,你可以使用
sp500["Adj Close"]
之类的东西,然后将其传递给相关的matplotlib plot命令plt.plot(datelist, sp500["Adj Close"] )
,其中datelist是x轴上的日期列表 .我相信您可以通过引用
sp500.index
获取日期列表,有关详细信息,请参阅here .至于你将它传递给plot命令的问题,比如
datelist = [date2num(x) for x in sp500.index]
其中函数date2num来自matplotlib.dates包 .设置相关的子图后,然后调用相应的填充命令
fill_between_alpha
行下方的区域,如您链接的Yahoo图 .请参阅 Fill Between and Alpha Headers 下的here,以获取显示正确日期打印的填充折线图的另一个代码段 .
初始链接有一个示例matplotlib片段,它还更详细地介绍了日期格式和格式 .
这将为您提供仅调整关闭列与您的DataFrame索引(日期)的关系图 .
同样,您可以以相同的方式绘制音量: