Диаграмма Ганта Python / Plotly: маркер для указания текущей даты на временной шкале?

В управлении проектами диаграмма Ганта позволяет вам видеть компоненты проекта на временной шкале, например, в Plotly. Как можно, предпочтительно в контексте Python, иметь строку, указывающую текущую дату на этой временной шкале, то есть сегодняшнюю дату, на этом графике? В контексте Plotly есть формы, в которых тонкая линия может быть нарисована как фигура, но я возникли проблемы с его применением к временным рядам / диаграмме Ганта, и визуально он кажется недостаточным, поскольку он не пересекает пространство графика (то есть не пересекает ось) и не имеет маркировки ...


person Zeruno    schedule 06.06.2018    source источник


Ответы (1)


Используя Plotly 4.9.0, стандартный пример временной шкалы из документации (ссылка) можно успешно расширить с помощью фигур, как вы упомянули:

# plot standard Plotly Gantt example from docs

from pandas import pd
import plotly.express as px
import plotly.offline as py

df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28'),
    dict(Task="Job B", Start='2009-03-05', Finish='2009-04-15'),
    dict(Task="Job C", Start='2009-02-20', Finish='2009-05-30')
])
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task")
fig.update_yaxes(autorange="reversed")

# add vertical line indicating specific date (e.g. today)

today = '2009-04-20'
fig.update_layout(shapes=[
    dict(
      type='line',
      yref='paper', y0=0, y1=1,
      xref='x', x0=today, x1=today
    )
])
fig.show()

GanttToday

person David    schedule 15.02.2021