You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在图表中设置Timestamp按1小时递增并修改X轴步长为1

解决Seaborn时间轴刻度设置问题

针对你提出的两个需求,直接通过matplotlib的日期刻度工具修改即可(Seaborn基于matplotlib实现),具体方案如下:

修改后的完整代码

import seaborn as sns
import pandas as pd
import matplotlib.dates as mdates
import matplotlib.pyplot as plt

# 假设start_time和end_time已提前定义
price_Graph = sns.lineplot(x='TIMESTAMP', y='ASK', data=price_graph_df)
price_Graph.tick_params(axis='x', rotation=45)
price_Graph.set_xlim([pd.to_datetime(start_time, format='%Y-%m-%d %H:%M:%S'), pd.to_datetime(end_time, format='%Y-%m-%d %H:%M:%S')])

# 配置X轴按1小时递增的刻度
# 主刻度定位器:每1小时生成一个刻度
price_Graph.xaxis.set_major_locator(mdates.HourLocator(interval=1))
# 刻度格式:自定义时间显示样式,可按需调整
price_Graph.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M'))

# 调整布局避免标签截断
plt.tight_layout()
plt.show()

关键代码说明

  • mdates.HourLocator(interval=1):指定X轴主刻度每1小时生成一个,同时解决「Timestamp按1小时递增」和「步长从2改为1」的需求。
  • mdates.DateFormatter('%Y-%m-%d %H:%M'):自定义时间刻度的显示格式,可根据需求简化,比如只显示小时和分钟用'%H:%M',显示日期加小时用'%m-%d %H'。
  • plt.tight_layout():自动调整图表布局,防止旋转后的X轴标签被遮挡。

补充说明

即使数据时间范围跨天数,该设置也会自动覆盖set_xlim定义的区间内所有小时刻度,适配你的时间范围需求。

内容的提问来源于stack exchange,提问作者Yang Wentao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:48:15