Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带日期的Python 3D绘图_Python_Date_Pandas_Matplotlib_Plot - Fatal编程技术网

带日期的Python 3D绘图

带日期的Python 3D绘图,python,date,pandas,matplotlib,plot,Python,Date,Pandas,Matplotlib,Plot,我正在尝试制作一个三维散点图,它有以下轴:价格、时间和日期。基本上,我想绘制一天的价格和时间,然后在多天内这样做,并将它们堆叠在一个轴上 以下是我目前掌握的代码: 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_subpl

我正在尝试制作一个三维散点图,它有以下轴:价格、时间和日期。基本上,我想绘制一天的价格和时间,然后在多天内这样做,并将它们堆叠在一个轴上

以下是我目前掌握的代码:

 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: invalid literal for float(): 9:30:01
日期格式如下:2017.04.12,时间格式:9:30:01

我知道我可以为日期设置勾号标签,但我如何处理时间


如果轴索引包含日期和时间,如何打印此3d打印?

matplotlib 3d无法打印日期。这里给出了一个可能的解决方案:这些问题的可能副本有助于日期,但它们没有解释如何将时间字符串列表转换为matplotlib可以使用的格式。日期和时间之间没有区别。您可以通过提问来说明将时间转换为数字的具体问题所在。(确保提供没有任何外部数据的,以便人们可以运行您的代码。)