Как отображать минуты: время в сюжете в блокнотах pandas jupyter - PullRequest
0 голосов
/ 20 июня 2019

Изображение графика здесь Мой фрейм данных уже имеет время в формате Hours.Minutes, однако при его построении значения в столбце обрабатываются как число на оси X. Как изобразить его в формате время в часах: минутах, в идеале в масштабе 30 минут?

Я использую matplotlib.pyplot и mpl_toolkits.axes_grid1 для построения

Фрагмент кода ниже -

host = host_subplot(111, axes_class=AA.Axes)

plt.subplots_adjust (справа = 0,75)

#par1 = host.twinx()
par2 = host.twinx()

offset = 0
new_fixed_axis = par2.get_grid_helper().new_fixed_axis
par2.axis["right"] = new_fixed_axis(loc="right", axes=par2,
                                        offset=(offset, 0))
par2.axis["right"].toggle(all=True)

host.set_xlim(8, 13)
host.set_ylim(-1, .04)

host.set_xlabel("Time")
host.set_ylabel("ROC")
par2.set_ylabel("SPY")

p1, = host.plot(df['TimeStamp'], df['LongsROC'], label="Longs", color ='green')
p3, = host.plot(df['TimeStamp'], df['ShortsROC'], label="Shorts", color = 'red')
p4, = host.plot(df['TimeStamp'], df['TotalROC'], label="Total", color = 'orange')
p2, = par2.plot(df['TimeStamp'], df['SPY'], label="SPY", color = 'black')

par2.set_ylim(291, 294)

host.legend()

plt.grid(True)
plt.draw()
plt.show()

На прилагаемом изображении вы можете видеть нарисованную линейную линию, рассматривая число 11,59 как число, а не как минуту за 12 часов, как мне нужно. Ниже приведены данные из фрейма данных, который читается из CSV -

    LongsROC    ShortsROC   TotalROC    SPY TimeStamp

111 -0,363944 -0,982345 -0,672143 292,73 11,52 112 -0,333455 -1,051296 -0,691213 292,91 11,53 113 -0,352487 -1,081512 -0,715819 292,91 11,55 114 -0,298104 -1,064427 -0,680024 292,93 11,57 115 -0,262799 -1,078123 -0,669141 292,82 11,59 116 -0,324617 -1,166276 -0,744084 293,17 12,37 117 -0,365767 -1,149050 -0,756140 292,97 12,39 Сюжет изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...