3

这是时间序列数据。我想读取数据文件并将其绘制为蜡烛图。实际上,我整天都在谷歌上寻找我想要的 pyghon 逻辑,但我找不到。任何意见将不胜感激。

先感谢您。

2011-11-01 9:00:00, 248.50, 248.95, 248.20, 248.70
2011-11-01 9:01:00, 248.70, 249.00, 248.65, 248.85
2011-11-01 9:02:00, 248.90, 249.25, 248.70, 249.15
2011-11-01 9:03:00, 249.20, 249.60, 249.10, 249.60
2011-11-01 9:04:00, 249.55, 249.95, 249.50, 249.60
2011-11-01 9:05:00, 249.60, 249.85, 249.55, 249.75
2011-11-01 9:06:00, 249.75, 250.15, 249.70, 249.85
2011-11-01 9:07:00, 249.85, 250.15, 249.80, 250.15
2011-11-01 9:08:00, 250.10, 250.40, 250.00, 250.15
2011-11-01 9:09:00, 250.20, 250.35, 250.10, 250.20
4

2 回答 2

2

要从剪贴板读取此数据集,请执行

from pandas import read_clipboard
from matplotlib.dates import date2num
names = ['date', 'open', 'close', 'high', 'low']
df = read_clipboard(sep=',', names=names, parse_dates=['date'])
df['d'] = df.date.map(date2num)

如果您将此数据保存在 CSV 或其他类型的字符分隔文件中,则顶级pandas.read_csv函数的工作方式与 类似。pandas.read_clipboard

现在开始绘图:

from matplotlib.pyplot import subplots, draw
from matplotlib.finance import candlestick

seconds_per_day = 60 * 60 * 24
fig, ax = subplots()
candlestick(ax, df[['d', 'open', 'close', 'high', 'low']].values, width=1.0 / seconds_per_day)
ax.xaxis_date()
draw()

在此处输入图像描述

于 2013-08-12T21:23:13.627 回答
0

你可以考虑一下。此链接的详细信息:https ://plot.ly/python/candlestick-charts/

. 如果您想使用 matplotlib 实现相同的功能,请查看此链接: https ://pythonprogramming.net/candlestick-ohlc-graph-matplotlib-tutorial/

于 2016-04-21T06:41:21.077 回答