Flask-сервер, на котором запущено приложение Bokeh: как получить доступ к графикам из скрипта, сгенерированного функцией server_document ()

в дополнение ко всем предыдущим ответам, и в случае, если вам интересно, как мы будем писать динамические имена свойств в будущем, используя имена вычисляемых объектов (ECMAScript 6), вот как:

var person = "John Doe";
var personId = "person_" + new Date().getTime();
var personIndex = {
    [ personId ]: person
//  ^ computed property name
};

personIndex[ personId ]; // "John Doe"

Ссылка

: Понимание ECMAScript 6 - Nickolas Zakas

1
задан Samir Ferreira 15 January 2019 в 20:57
поделиться

1 ответ

Я приведу план реализации нескольких графиков:

  1. Создайте отдельное приложение Bokeh для каждого графика. См. modify_doc в примере

    def change_doc1():
      # code to define how plot 1 should behave
    
    def change_doc2():
      # code to define how plot 2 should behave
    
  2. Инициализация сервера Bokeh с несколькими приложениями вместо одного приложения

    def bk_worker():
        plots = { "/plot1": change_doc1, "/plot2": change_doc2 }
        server = Server(plots, io_loop=IOLoop(), allow_websocket_origin=["localhost:{}".format(port)])
        server.start()
        server.io_loop.start()
    
  3. [ 118] Получите отдельные заметки на маршруте Flask и отправьте их в шаблон.
    @app.route('/', methods=['GET'])
    def bkapp_page():
        script1 = server_document('http://localhost:5006/plot1')
        script2 = server_document('http://localhost:5006/plot2')
        return render_template("embed.html", script1=script1, script2=script2)
    
  4. Используйте сценарии в шаблоне отдельно и расположите их там, где хотите в HTML
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Time Plots</title>
    </head>
    <body>
      <div id="plot1">
        {{ script1 | safe }}
      </div>
      <div id="plot2">
        {{ script2 | safe }}
      </div>
    </body>
    </html>
    
0
ответ дан Arunmozhi 15 January 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: