【发布时间】:2021-04-04 00:33:44
【问题描述】:
我正在使用 plotly express 时间线功能绘制甘特图。我在日期字段的悬停文本呈现方面遇到问题。
plotly version: 4.5.4
这里给出的原始示例https://plotly.com/python/gantt/,Finish 字段以正确的格式呈现为%Y-%m-%d。
import plotly.express as px
import pandas as pd
df = pd.DataFrame([
dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex")
])
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Resource")
fig.update_yaxes(autorange="reversed")
fig.show()
我尝试使用以下代码自定义悬停文本字段。
import plotly.express as px
import pandas as pd
df = pd.DataFrame([
dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex")
])
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Resource"
, hover_data={"Start": True,
"Finish": True,
"Task": True,
"Resource": False}
)
fig.show()
现在,显示的 Finish 字段是 Start 和 Finish 的差异(以毫秒为单位)。在上面的示例中,“完成”值显示为 5011200000。
我需要在悬停文本中显示原始的 Finish 值。在这种情况下2009-02-28。
我只能通过在我的数据框中创建 Finish 列的副本并将其用于悬停文本来解决此问题。
有没有一种方法可以在不复制的情况下正确渲染列?
【问题讨论】: