Изображение графика здесь Мой фрейм данных уже имеет время в формате 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
Сюжет изображения здесь