Python:烛台图中的日期范围错误

时间:2018-11-28 10:48:59

标签: python python-3.x pandas matplotlib

我尝试使用Pandas Dataframe软件包matplotlib.pyplot绘制mpl_finance,以获得正确的烛台图。绘图有效,但x轴的日期范围错误。 Dataframe的标头如下:

Dataframe rows

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,但该图创建了该日期范围。 Plotting of the Candlestick chart

注释日期格式行无济于事。当绘制浮点值时,也会得到相同的图。

编辑:我已经添加了用于创建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)

0 个答案:

没有答案