仅通过Dash网站上的示例教程,我试图修改示例代码,并试图在第二个dcc.Graph中向图形添加标题时遇到语法错误。
第二个dcc.Graph是我创建的。 代码调试器报告“标题”和“测试进度”之间的冒号是语法错误。我检查了所有方括号,并把它们正确对齐。请注意,我没有提供完整的源代码,因为仅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'
}
}
)
其他信息: 在dcc.Graph部分中添加了与plotly_figure有关的实际数据行,并且不再出现语法错误。
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'
}
}
)