我尝试了此操作,好像我打印出图形的初始状态时说“无”一样。
app.layout = html.Div([
html.Div(
dcc.Graph(id = 'graph')
)
])
@app.callback(
Output('graph', 'figure'),
[Input('click', 'clickedData')])
def myfun(x):
...
return None
但是我得到了错误:无法读取null的属性“ layout”
我应该返回什么,以便新图返回到原始的空状态?
答案 0 :(得分:2)
您应该返回一个go.Figure
对象,因为它将被放置在figure
的{{1}}属性中。您可以通过将dcc.Graph
的参数赋予x=[], y=[]
来使数字空白:
go.Figure
(下面的完整应用代码)
@app.callback(Output('graph', 'figure'), [Input('click', 'n_clicks')])
def myfun(n_clicks):
if not n_clicks:
raise dash.exceptions.PreventUpdate
fig = go.Figure(data=[go.Scatter(x=[], y=[])])
return fig
答案 1 :(得分:0)
应该有助于返回空数字:fig = {}
。
在回调中,只需写入return {}
而不是return None
。