Bokeh - Embutindo gráficos e aplicativos

Plotagens e dados na forma de documentos autônomos, bem como aplicativos Bokeh, podem ser incorporados em documentos HTML.

O documento autônomo é um gráfico Bokeh ou documento não suportado pelo servidor Bokeh. As interações em tal plotagem são puramente na forma de JS customizado e não retornos de chamada Pure Python.

Plotagens Bokeh e documentos suportados pelo servidor Bokeh também podem ser incorporados. Esses documentos contêm retornos de chamada Python executados no servidor.

No caso de documentos independentes, um código HTML bruto representando um gráfico Bokeh é obtido pela função 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")

O valor de retorno da função file_html () pode ser salvo como um arquivo HTML ou pode ser usado para renderizar através de rotas de URL no aplicativo Flask.

No caso de documento autônomo, sua representação JSON pode ser obtida pela função 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"))

Essa saída pode ser usada pela função Bokeh.embed.embed_item em uma página da web -

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

Os aplicativos Bokeh no Bokeh Server também podem ser incorporados para que uma nova sessão e um documento sejam criados em cada carregamento de página para que uma sessão específica existente seja carregada. Isso pode ser feito com a função server_document (). Ele aceita a URL para um aplicativo de servidor Bokeh e retorna um script que irá incorporar novas sessões desse servidor sempre que o script for executado.

o server_document() functionaceita parâmetro de URL. Se for definido como 'padrão', o URL padrão http: // localhost: 5006 / será usado.

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

A função server_document () retorna uma tag de script como segue -

<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>