Обратный вызов Flask ajax не может обновить графикPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обратный вызов Flask ajax не может обновить график

Сообщение Anonymous »


Я пытаюсь обновить график при нажатии, используя 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('диаграмма', результат, {}); }); Будем благодарны за любую помощь.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как разрезать 2D-линейный график, чтобы создать 3D-график поверхности (или контурный график)? Питон
    Anonymous » » в форуме Python
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Обратный вызов запроса Javascript ajax без ожидания ответа
    Anonymous » » в форуме Jquery
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Ответ PHP на обратный вызов AJAX, выводящий на экран
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Ответ PHP на обратный вызов AJAX, выводящий на экран
    Anonymous » » в форуме Jquery
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Не получить обратный вызов с помощью Ajax.BeginForm asp.net mvc
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»