Fra*_*ank 3 python matplotlib timedelta spyder
我想绘制一个数据帧,该数据帧的timedelta64索引在x轴上具有索引。
索引如下所示:
In [75]: test.index
Out[75]:
TimedeltaIndex([ '00:00:00', '00:00:00.020000', '00:00:00.040000',
'00:00:00.060000', '00:00:00.080000', '00:00:00.100000',
'00:00:00.120000', '00:00:00.140000', '00:00:00.160000',
'00:00:00.180000',
...
'07:29:31.660000', '07:29:31.680000', '07:29:31.700000',
'07:29:31.720000', '07:29:31.740000', '07:29:31.760000',
'07:29:31.780000', '07:29:31.800000', '07:29:31.820000',
'07:29:31.840000'],
dtype='timedelta64[ns]', name='master', length=923486, freq=None)
Run Code Online (Sandbox Code Playgroud)
当我简单地使用以下方式绘制此数据框时:
plt.plot(test)
Run Code Online (Sandbox Code Playgroud)
我希望在x轴上获得timedeltaindex。但是,相反,我只是在x轴上得到这个:
如何在x轴上获取TimedeltaIndex?
首先,您可以直接使用熊猫来绘制数据。即代替plt.plot(df)
你可以使用
df.plot()
Run Code Online (Sandbox Code Playgroud)
这将在轴上显示正确的时间增量。
如果由于某种原因需要使用matplotlib进行绘图,例如由于时间戳记间隔不相等,则需要将转换TimedeltaIndex
为绝对日期时间。选择一些(任意)开始,您可以将增量添加到开始以获取绝对日期时间。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
index = pd.to_timedelta(np.arange(50,100), unit='s')
df = pd.DataFrame(np.arange(50), index=index)
start=pd.Timestamp('20180606')
plt.plot(start+df.index, df)
plt.show()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
695 次 |
最近记录: |