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

如何在Bokeh中移除X轴首尾日期并替换为时间格式?

解决方案:自定义Bokeh X轴时间格式

没问题,这是很常见的需求,你只需要给X轴指定DatetimeTickFormatter来自定义时间显示格式就行,具体修改如下:

from bokeh.models import DatetimeTickFormatter

# 保留你的原有绘图代码
p = figure(plot_width=1000, plot_height=500, x_axis_type="datetime")
p.circle(df.Time, df.Amount)
p.xaxis.axis_label = 'Time'
p.yaxis.axis_label = 'Amount'

# 关键:添加X轴格式设置
p.xaxis.formatter = DatetimeTickFormatter(
    hours=["%H:%M"],
    days=["%H:%M"],  # 因为数据跨天,必须指定days级别的格式
    months=["%H:%M"],
    years=["%H:%M"]
)

show(p)

关键说明:

  • Bokeh会根据数据的时间范围自动选择刻度的显示级别(比如小时、天、月等),你的数据跨了1/01和1/02两天,所以首尾刻度会触发days级别,因此必须给days也设置成%H:%M格式,才能显示成00:00这种时间样式。
  • 格式符含义:%H是24小时制的小时数,%M是分钟数;如果需要12小时制,可以改成"%I:%M %p"(比如显示12:00 AM)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:10:13