Боке - встраивание графиков и приложений

Графики и данные в виде отдельных документов, а также приложений Bokeh могут быть встроены в документы HTML.

Автономный документ - это график или документ с эффектом боке, не поддерживаемый сервером Bokeh. Взаимодействие в таком сюжете осуществляется исключительно в форме пользовательских JS, а не обратных вызовов Pure Python.

Также можно встраивать графики и документы Bokeh, поддерживаемые сервером Bokeh. Такие документы содержат обратные вызовы Python, которые выполняются на сервере.

В случае автономных документов необработанный HTML-код, представляющий график Боке, получается с помощью функции file_html ().

from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import file_html
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
string = file_html(plot, CDN, "my plot")

Возвращаемое значение функции file_html () может быть сохранено как файл HTML или может использоваться для рендеринга через URL-маршруты в приложении Flask.

В случае автономного документа его JSON-представление можно получить с помощью функции json_item ().

from bokeh.plotting import figure
from bokeh.embed import file_html
import json
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
item_text = json.dumps(json_item(fig, "myplot"))

Этот вывод может использоваться функцией Bokeh.embed.embed_item на веб-странице -

item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);

Приложения Bokeh на Bokeh Server также могут быть встроены, чтобы новый сеанс и документ создавались при каждой загрузке страницы, чтобы загружался конкретный существующий сеанс. Это можно сделать с помощью функции server_document (). Он принимает URL-адрес серверного приложения Bokeh и возвращает сценарий, который будет внедрять новые сеансы с этого сервера при каждом выполнении сценария.

В server_document() functionпринимает параметр URL. Если установлено значение «default», будет использоваться URL-адрес по умолчанию http: // localhost: 5006 /.

from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")

Функция server_document () возвращает тег скрипта следующим образом:

<script
   src="http://localhost:5006/sliders/autoload.js?bokeh-autoload-element=1000&bokeh-app-path=/sliders&bokeh-absolute-url=https://localhost:5006/sliders"
   id="1000">
</script>