我正在尝试制作具有以下轴的3D散点图:价格,时间和日期。基本上我想绘制一天的价格与时间的关系,然后在多天内完成,并将它们堆叠在一个轴上。
这是我到目前为止的代码:
df=pd.read_csv("C:\\Desktop\\dat.csv")
date= df['date'].unique()
dfd = pd.DataFrame(date)
days= dfd.sort_values(0)
fig= plt.figure()
ax= fig.add_subplot(111, projection= '3d')
xx = np.arange(len(days[0]))
ys = [i+xx+(i*xx)**2 for i in range(len(days[0]))]
colors = cm.rainbow(np.linspace(0, 1, len(ys)))
for d,cc in zip(days[0],colors):
td= df.loc[df['date'] == d]
st= td[['time','price']]
x = st['time']
y = st['price']
x=list(x)
y=list(y)
ax.scatter(x,y,d,color=cc)
plt.show()
主要问题是x是一个有时间的列表,而d是一个日期。当我运行代码matplotlib抛出一个错误说“ValueError:float()的无效文字:9:30:01”
日期格式如下:2017.04.12,时间格式:9:30:01
我知道我可以为日期设置刻度标签,但我该如何处理时间?
如果轴索引包含日期和时间,我该如何绘制这个3d图?