Bokeh - osadzanie wykresów i aplikacji
Wykresy i dane w postaci samodzielnych dokumentów, a także aplikacji Bokeh można osadzać w dokumentach HTML.
Samodzielny dokument to wykres Bokeh lub dokument nieobsługiwany przez serwer Bokeh. Interakcje w takiej fabule są wyłącznie w postaci niestandardowego JS, a nie wywołań zwrotnych Pure Python.
Można również osadzać wykresy Bokeh i dokumenty obsługiwane przez serwer Bokeh. Takie dokumenty zawierają wywołania zwrotne Pythona, które działają na serwerze.
W przypadku dokumentów samodzielnych surowy kod HTML reprezentujący wykres Bokeh jest uzyskiwany za pomocą funkcji 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")
Wartość zwracana funkcji file_html () może zostać zapisana jako plik HTML lub może zostać wykorzystana do renderowania tras URL w aplikacji Flask.
W przypadku dokumentu samodzielnego jego reprezentację w formacie JSON można uzyskać za pomocą funkcji 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"))
Dane wyjściowe mogą być używane przez funkcję Bokeh.embed.embed_item na stronie internetowej -
item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);
Aplikacje Bokeh na serwerze Bokeh mogą być również osadzane, dzięki czemu nowa sesja i dokument są tworzone przy każdym ładowaniu strony, tak aby ładowana była konkretna, istniejąca sesja. Można to osiągnąć za pomocą funkcji server_document (). Akceptuje adres URL do aplikacji serwera Bokeh i zwraca skrypt, który osadzi nowe sesje z tego serwera za każdym razem, gdy skrypt zostanie wykonany.
Plik server_document() functionakceptuje parametr adresu URL. Jeśli jest ustawiona na „default”, zostanie użyty domyślny adres URL http: // localhost: 5006 /.
from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")
Funkcja server_document () zwraca znacznik skryptu w następujący sposób -
<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>