将数字轴替换为broken_barh中的日期时间轴

时间:2015-02-26 17:51:22

标签: python matplotlib plot axes

所有

我正在使用matplotlib的broken_barh命令比较几个时间序列 - 这是比较多个同步时间序列中的数据间隙的好方法。因为broken_barh似乎只接受数字输入,所以我使用POSIX时间。

完成后,我想更改x轴以显示格式正确的日期和时间。

现在,我可以通过以下方式直接执行此操作:

xtick_locations = ax.xaxis.get_majorticklocs()
xtick_new_labels = [
    '{0:04n}-{1:02n}-{2:02n}\n{3:02n}:{4:02n}:{5:02n}'.format(
    t.year,t.month,t.day,t.hour,t.minute,t.second) for t in
    [pd.Timestamp(tick,unit='s') for tick in xtick_locations]]
plt.xticks(xticks_locations,xtick_new_labels,rotation='vertical')

但是我的时间和日期并不位于漂亮的逻辑位置,例如天数,周数,月数等的开始取决于绘制的范围。

有没有人知道如何使用matplotlib.dates.AutoDateLocatormatplotlib.dates.AutoDateFormatter智能计算并显示新的刻度位置给定我的原始数字x轴?我可以压缩原始轴并用新的轴重叠吗?

谢谢!

0 个答案:

没有答案