对不起,我的英语不好。
我有一个列表:
found_time = ['2019-02-28 00:24:16', '2019-02-28 00:22:30', '2019-02-27 08:08:21', ... ... , '2019-02-01 22:21:10', '2019-02-01 00:21:10']
我正在尝试制作类似↑的情节表。 Chris A给了我一个代码,代码像↓这样。
import pandas as pd
import numpy as np
s = pd.Series(np.ones(len(found_time)), index=pd.DatetimeIndex(found_time))
s = s.resample('H').sum()
plt.scatter(s.index.hour, s.index.date, s=s, color='k')
# yticks
yticks = pd.date_range('2019-02-01', '2019-02-28', freq='D')
plt.yticks(yticks, [y.strftime('%m-%d') for y in yticks])
plt.ylim('2019-02-01', '2019-02-28')
# xticks
xticks = np.arange(24)
plt.xticks(xticks, ['{0:02d}:00'.format(x) for x in xticks], rotation=45,ha='right')
,问题在于它仅在准确的时间绘图。 例如)08:45:33-> 08:00,07:12:09-> 07:00
问题:您如何更精确地绘制?不是每小时一次。
答案 0 :(得分:1)
s = pd.Series(np.ones(len(found_time)), index=pd.DatetimeIndex(found_time))
plt.scatter(s.index.time, s.index.date, color='k')
# yticks
yticks = pd.date_range('2019-02-01', '2019-02-28', freq='D')
plt.yticks(yticks, [y.strftime('%m-%d') for y in yticks])
plt.ylim('2019-02-01', '2019-02-28')
# xticks
xticks = pd.date_range('00:00', '23:00', freq='H').time
plt.xticks(xticks, [x.strftime('%H:%M') for x in xticks], rotation=45,ha='right')
请注意:plt.scatter(s.index.time, s.index.date, color='k')
和xticks
可以与s.index.time