这是时间序列数据。
我想读取数据文件并将其绘制为蜡烛图。
实际上,我整天都在谷歌上寻找我想要的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

最佳答案

要从剪贴板中读取此数据集,请执行以下操作

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

给予

08-28 06:38