如何在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
相关产品推荐
相关产品推荐

