在悬停文本、python、plotly 中显示完整日期 {DD-MM-YYYY}

问题描述 投票:0回答:3

我正在使用 pythonplotly 库绘制一个跨越多年的图表 -

import plotly.express as px

当图表完整显示时,悬停文本中显示的

date
仅包含月份和年份
M-YYYY

enter image description here

但是当放大时会显示完整日期

M-DD-YYYY

enter image description here

hovertemplate
hovermode
中或相关的设置是否允许始终显示完整日期?

这可以在以下示例中复制:

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")

fig.show()
python pandas date plotly hover
3个回答
1
投票

您需要提供适用于悬停数据的格式字符串,请使用

hover_data
:

fig = px.area(df, x='Date', y="Value",
              title="Example Data",
              hover_data={'Date': '|%B %d, %Y'})

@见


1
投票

首先,为悬停文本创建日期格式字符串

date_format = "%b %d, %Y"

然后,将 x 轴

tickformat
更新为所需的日期格式

fig.update_xaxes(tickformat=date_format)

但是此解决方案也会格式化

x-axis
标签


0
投票

另一个不需要 Plotly Express 的解决方案是

hovertemplate
中的
update_traces
。 例如:

fig.update_traces(hovertemplate='%{x:.}')

鼠标悬停时现在显示 YYYY-MM-DD 格式。

fig.update_traces(hovertemplate='Date %{x:.}')

鼠标悬停时现在显示

Date <YYYY-MM-DD>

有关更多信息,请参阅官方文档:https://plotly.com/python/hover-text-and-formatting/

© www.soinside.com 2019 - 2024. All rights reserved.