Python:带有时间索引标签的3D绘图

时间:2014-09-28 07:31:23

标签: python graph plot pandas 3d

我有一个如下所示的数据框df

                        Mid Quote  Volume
2011-01-06 14:25:00     31.035       10
2011-01-06 14:25:01     32.085       42
2011-01-06 14:25:02     32.900       100

df.index

<class 'pandas.tseries.index.DatetimeIndex'>
[2011-01-06 14:25:00, ..., 2011-01-06 14:45:00]
Length: 1201, Freq: S, Timezone: None

我想做一个3D情节如下:

td = plt.figure().gca(projection='3d')
td.scatter(df.index.time, df['Mid Quote'].values, df['Volume'].values)
td.set_xlabel('Time')
td.set_ylabel('Mid Quote')
td.set_zlabel('Volume')
plt.show()

我收到以下错误:TypeError: float() argument must be a string or a number

我知道问题出在df.index.time上,因为如果我用range(0,len(df.Volume))替换它,我会得到情节。

我还尝试将df.index.time替换为新的变量time

time = [y[0].time() for y in df.iterrows()]

>>>time

datetime.time(14, 44, 55), datetime.time(14, 44, 56), datetime.time(14, 44, 57), datetime.time(14, 44, 58), datetime.time(14, 44, 59), datetime.time(14, 45)]...

如何在x轴上获得时间?

0 个答案:

没有答案