Я пытаюсь использовать Plotly Gantt и добавлять аннотации в представление, но у меня возникают проблемы с добавлением аннотаций. Мои данные извлекаются из фрейма данных, где меткой является df ['Label'] (строка), но я сделал тестовый фрейм данных 'ann', и мне не повезло с ним ниже. Похоже, что в списке словарей, которые они используют, есть промежуточный знак =, а у меня: - это то, что вызывает проблему? Любое простое исправление? Я не могу пометить все аннотации по отдельности, как показано ниже, потому что их сотни
Ошибка:
ValueError:
Invalid value of type 'builtins.dict_values' received for the 'annotations' property of layout
Received value: dict_values([{'x': Timestamp('2020-06-01 00:00:00'), 'y': 2, 'text': 'test', 'showarrow': False}, {'x': Timestamp('2020-07-01 00:00:00'), 'y': 5, 'text': 'test3', 'showarrow': False}])
The 'annotations' property is a tuple of instances of
Annotation that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Annotation
- A list or tuple of dicts of string/value properties that
will be passed to the Annotation constructor
Код :
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.figure_factory as ff
import plotly.graph_objs as go
# figure
fig = ff.create_gantt(df)
# add annotations
annots = [dict(x=LabelDateA,y=0,text="Task label A", showarrow=False, font=dict(color='white')),
dict(x=LabelDateB,y=1,text="Task label B", showarrow=False, font=dict(color='White')),
dict(x=LabelDateC,y=2,text="Task label C", showarrow=False, font=dict(color='White'))]
print(df)
ann = ann.T.to_dict().values()
print(ann)
# plot figure
fig['layout']['annotations'] = ann
fig.show()