Просто просматривая образец учебника на веб-сайте Dash, я попытался изменить пример кода и столкнулся с синтаксической ошибкой при попытке добавить заголовок к рисунку во втором dcc.Graph.
Второй dcc.Graph - это то, что я создал. Отладчик кода сообщает, что двоеточие между 'title' и 'Test Progress является синтаксической ошибкой. Я проверил все скобки, и все они выстроились правильно. Обратите внимание, что я не включил полный исходный код, так как только ошибка dcc.Graph была связана с ошибкой.
Я предполагаю, что, возможно, используются неправильные типы скобок. Но, основываясь на первом dcc.Graph, я не думаю, что это так.
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], \
'type': 'bar', 'name': u'Montréal'},
],
'layout': {
'title': 'Dash Data Visualization'
}
}
),
dcc.Graph(id='plot1',
figure={
plotly_figure, 'layout' : {
'title': 'Test Progress'
}
}
)
Дополнительная информация:
Добавлена фактическая строка данных, которая относится к plotly_figure в разделе dcc.Graph, и синтаксическая ошибка больше не появляется.
plotly_figure = dict(data=[dict(x=[1,2,3], y=[2,4,8])])
dcc.Graph(id='plot1',
figure = {
'data': [
{dict(data=[dict(x=[1,2,3], y=[2,4,8])])},
],
'layout' : {
'title' : 'Test Progress'
}
}
)
Решение проблемы:
Правильный синтаксис для plotly_fig выглядит следующим образом:
plotly_fig = [dict(x=[1,2,3], y=[2,4,8])]
dcc.Graph(id='plot1',
figure={
plotly_fig, 'layout' : {
'title': 'Test Progress'
}
}
)