【发布时间】:2019-08-12 20:06:18
【问题描述】:
我正在为数据框中的时间图而苦苦挣扎。经过多次尝试和几乎每一个错误,我只是用set_xtickslabels 绘制了刻度,但日期与图表不匹配......在每个打印的刻度上显示列表中的下一个项目。而且当指向图表日期时,格式不正确。这并不奇怪,因为这是用浮点数绘制的。通过堆栈论坛上的所有这些阅读,我了解到那个日期是一个对象,并尝试以多种方式对其进行格式化,但仍然没有得到正确的解决方案。那么如何正确操作或到哪里寻找解决方案呢?
这是我的挣扎和错误的历史(肯定不是全部):
def getCandles(df, ax):
ohlc = df[['open_time','o', 'h', 'l', 'c', 'v']].copy()
ohlc['open_time'] = ohlc['open_time'].values.astype(float)
ohlc['o'] = ohlc['o'].astype(float)
ohlc['h'] = ohlc['h'].astype(float)
ohlc['l'] = ohlc['l'].astype(float)
ohlc['c'] = ohlc['c'].astype(float)
ohlc['v'] = ohlc['v'].astype(float)
candlestick_ohlc(ax, ohlc.values, width = 0.8, colorup="#77d879", colordown="#db3f3f")
plt.xlabel('TIME')
plt.ylabel('PRICE')
plt.tight_layout()
plt.show()
编辑:我在这里找到了解决方案:https://stackoverflow.com/a/41822115/6635518
感谢大家的帮助。
【问题讨论】:
-
你的时间变量是多少?
-
你的代码有点乱。你能不能试着把它组织得更好,只留下对它最重要的东西?
-
完成。我已经粘贴了所有这些##lines 来展示我的尝试,这与堆栈论坛示例有关。我只想用正确的日期格式打印该图表。我想用 ohlc['open_time'] 作为 x 打印。
-
你能提供一个'open_time'中的数据示例吗?
-
在任何格式之前:['open_time','o', 'h', 'l', 'c', 'v'] = [[1551387600000 '0.00002980' '0.00002990' '0.00002950' '0.00002970' '281493.43000000'] 还有:open_time int64 o object h object l object c object v object dtype: object
标签: python datetime dataframe matplotlib