我尝试使用Pandas Dataframe
软件包matplotlib.pyplot
绘制mpl_finance
,以获得正确的烛台图。绘图有效,但x轴的日期范围错误。 Dataframe
的标头如下:
mpl_finance
方法candlestick_ohlc
需要使用浮动日期格式的时间,因此我使用以下方法df_ohlc['Datum'] = df['Datum'].map(mdates.date2num)
转换日期。
转换后,我绘制了图表
fig = plt.figure()
ax1 = fig.add_subplot(111)
candlestick_ohlc(ax1, df_ohlc.values, colorup='g', width=0.6)
ax1.xaxis_date()
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d-%b'))
fig.autofmt_xdate()
plt.show()
但是该图与数据框不同。在数据框中,缺少时段2017-12-23-2017-12-26,但该图创建了该日期范围。
注释日期格式行无济于事。当绘制浮点值时,也会得到相同的图。
编辑:我已经添加了用于创建Dataframe的示例代码。
df = pd.read_csv('wkn_766403_historic.csv', sep=';', thousands='.', decimal=',',
usecols=['Datum', 'Erster', 'Hoch', 'Tief', 'Schlusskurs'], parse_dates=True, index_col='Datum')
df.index = df.index.tz_localize('Europe/Berlin')
df = df.sort_index()
df = df.loc['2017-12-20':'2017-12-29']
df = df.reset_index()
df_ohlc = df.copy()
df_ohlc['Datum'] = df['Datum'].map(mdates.date2num)