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

如何在Python Plotly中始终显示完整日期(DD-MM-YYYY)于悬浮文本

解决方案:强制始终显示完整日期

要实现图表无论是否缩放,悬浮文本中始终显示完整日期(M-DD-YYYY),可根据你的hovermode设置选择对应方法:

方法1:适配hovermode="x unified"的设置

当使用统一悬浮模式时,顶部的日期显示由x轴的hoverformat参数控制,直接在update_layout中配置即可:

修改你的代码,添加x轴的日期格式强制设置:

import numpy as np
import pandas as pd
import plotly.express as px

start=pd.to_datetime("2016-01-01")
end=pd.to_datetime("2022-12-31")
length = end - start

df = pd.DataFrame({'Date':pd.date_range(start="2016-01-01",end="2022-12-31"),
                   'Value':np.random.randint(5,30,size=length.days+1)})
fig = px.area(df, x='Date', y="Value", 
              title = "Example Data",)

fig.update_traces(line_color='firebrick')
fig.update_layout(
    hovermode="x unified",
    xaxis=dict(hoverformat="%m-%d-%Y")  # 强制完整日期格式
)

fig.show()

方法2:自定义悬浮模板(适用于普通hovermode)

如果不使用统一悬浮模式,或需要更精细控制悬浮内容,可通过hovertemplate自定义每个数据点的悬浮文本:

fig.update_traces(
    line_color='firebrick',
    hovertemplate='Date: %{x|%m-%d-%Y}<br>Value: %{y}<extra></extra>'
)

日期格式说明

  • %m:两位数字月份(01-12)
  • %d:两位数字日期(01-31)
  • %Y:四位数字年份(如2016)
  • 若需要月份缩写格式(如Jan-01-2016),可替换为%b-%d-%Y

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:37:44