所有
我正在使用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.AutoDateLocator
和matplotlib.dates.AutoDateFormatter
智能计算并显示新的刻度位置给定我的原始数字x轴?我可以压缩原始轴并用新的轴重叠吗?
谢谢!