Обратный вызов Flask ajax не может обновить график ⇐ Python
Обратный вызов Flask ajax не может обновить график
Я пытаюсь обновить график при нажатии, используя ajax. Я не понимаю, почему это работает только в первый раз. Действие здесь окрашивает точку, по которой щелкнули, позже я хотел бы выполнить другие действия при щелчке.
Вот приложение:
из фляги импорта Flask, config, render_template, request импортировать numpy как np импортировать панд как pd импортировать JSON импортировать сюжетно импортироватьplotly.express как px импортируйтеplotly.graph_objects как идти приложение = Колба(__name__) @app.route('/') индекс защиты(): return render_template('data-explorer.html',graphJSON=map_filter()) @app.route('/scatter') защита разброса(): вернуть map_filter(request.args.get('данные')) защита map_filter(df=''): х=[0, 1, 2, 3, 4] у=[0, 1, 4, 9, 16] если df=='': рис = px.scatter(y, x) еще: idx = x.index(int(df)) cols = ['blue']*len(x) cols[idx] = 'красный' fig = px.scatter(y, x, color=cols) graphJSON = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder) вернуть графикJSON если __name__=='__main__': app.run(отладка=Истина) Вот шаблон data-explorer.html.
функция update_graph(выбор){ var value= $.ajax({ url: "{{url_for('scatter')}}", асинхронный: ложь, данные: { 'данные': выбор}, }).responseText; возвращаемое значение; } d = {{ графJSON | безопасный }}; вар конфигурации = {displayModeBar: false}; var диаграмма = document.getElementById('диаграмма'); //Plotly.setPlotConfig(конфигурация); console.log(d); Plotly.newPlot('диаграмма', d, {}); chart.on('plotly_click', функция(данные){ console.log(data.points[0].x); //varfig = JSON.parse(myJson); var result = JSON.parse(update_graph(data.points[0].x)); console.log(результат); Plotly.newPlot('диаграмма', результат, {}); }); Будем благодарны за любую помощь.
Я пытаюсь обновить график при нажатии, используя ajax. Я не понимаю, почему это работает только в первый раз. Действие здесь окрашивает точку, по которой щелкнули, позже я хотел бы выполнить другие действия при щелчке.
Вот приложение:
из фляги импорта Flask, config, render_template, request импортировать numpy как np импортировать панд как pd импортировать JSON импортировать сюжетно импортироватьplotly.express как px импортируйтеplotly.graph_objects как идти приложение = Колба(__name__) @app.route('/') индекс защиты(): return render_template('data-explorer.html',graphJSON=map_filter()) @app.route('/scatter') защита разброса(): вернуть map_filter(request.args.get('данные')) защита map_filter(df=''): х=[0, 1, 2, 3, 4] у=[0, 1, 4, 9, 16] если df=='': рис = px.scatter(y, x) еще: idx = x.index(int(df)) cols = ['blue']*len(x) cols[idx] = 'красный' fig = px.scatter(y, x, color=cols) graphJSON = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder) вернуть графикJSON если __name__=='__main__': app.run(отладка=Истина) Вот шаблон data-explorer.html.
функция update_graph(выбор){ var value= $.ajax({ url: "{{url_for('scatter')}}", асинхронный: ложь, данные: { 'данные': выбор}, }).responseText; возвращаемое значение; } d = {{ графJSON | безопасный }}; вар конфигурации = {displayModeBar: false}; var диаграмма = document.getElementById('диаграмма'); //Plotly.setPlotConfig(конфигурация); console.log(d); Plotly.newPlot('диаграмма', d, {}); chart.on('plotly_click', функция(данные){ console.log(data.points[0].x); //varfig = JSON.parse(myJson); var result = JSON.parse(update_graph(data.points[0].x)); console.log(результат); Plotly.newPlot('диаграмма', результат, {}); }); Будем благодарны за любую помощь.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение