Bokeh-embedding-plots-and-apps
提供:Dev Guides
ボケ-プロットとアプリの埋め込み
スタンドアロンドキュメント形式のプロットとデータ、およびBokehアプリケーションをHTMLドキュメントに埋め込むことができます。
スタンドアロンドキュメントは、ボケサーバーによってサポートされていないボケプロットまたはドキュメントです。 このようなプロットの相互作用は、純粋にカスタムJSの形式であり、Pure Pythonコールバックではありません。
ボケサーバーに裏打ちされたボケプロットやドキュメントも埋め込むことができます。 このようなドキュメントには、サーバーで実行される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ファイルとして保存するか、FlaskアプリのURLルートを介してレンダリングするために使用できます。
スタンドアロンドキュメントの場合、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"))
この出力は、WebページのBokeh.embed.embed_item関数で使用できます-
item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);
Bokeh Server上のBokehアプリケーションを埋め込んで、ページが読み込まれるたびに新しいセッションとドキュメントが作成され、特定の既存のセッションが読み込まれるようにすることもできます。 これは、server_document()関数で実行できます。 BokehサーバーアプリケーションへのURLを受け入れ、スクリプトが実行されるたびにそのサーバーからの新しいセッションを埋め込むスクリプトを返します。
- server_document()関数*はURLパラメータを受け入れます。 「デフォルト」に設定されている場合、デフォルトの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>