私は時間の少しのためにボケでプレーしてきたと私は私が(例えば、WordPressの記事に)インタラクティブなプロットを作成し、それらをオンラインで埋め込むしたいステップになりましたよ。
ただし、ボケのWebサイトの例のコードを確認してテストするのに時間を費やしたにもかかわらず、curdoc()の目的を正確に理解するのに苦労しています。ウィジェット付きのボケアプリを作成するために必要なようですが、リソースで見つけたものからはよくわかりません。
いくつかの用語が適切です。あなたがボケプロットを作成すると、それは小さなオブジェクトの多くで構成され、インスタンスのグリフ、範囲、データソース、ツール、などとプロット自体のために、基本的にすべてのこれらの他のオブジェクトのコンテナです。プロットを含むすべてのこれらのオブジェクトは、と呼ばれているモデル。他のモデルは、レイアウト(egrow
とcolumn
)やBokehに組み込まれているウィジェット(eg、Slider
またはSelect
)のようなものです。
Python側のこれらのモデルのすべてに、実際にモデルを実装し、描画または対話のためにブラウザーですべての作業を行う、対応するJavaScriptオブジェクトがあります。Bokehの仕組みは、Pythonモデルのコレクションを自動的にJSONの山に変換し、BokehJSがそこから対応するすべてのJSオブジェクトを再構成できるようにすることです。
Aドキュメントは、ボケの集まりであるモデル。これは、最小の「直列化の単位」です。で、それは多くの場合、(のようなJSONへの単一のPythonモデルをオンにしても意味がありませんのでPlot
、オブジェクトが他のオブジェクトの多くを参照してください可能性があるため、(などの軸、またはグリフ、のような))だから、AにおけるモデルのコレクションをBokeh Documentは、意味のある方法ですべて一緒にJSONに変換できます。
上記のすべては、スタンドアロンドキュメント(例:を使用output_file
)を作成する場合でも、BokehサーバーでBokehアプリケーションを作成する場合でも適用されます。ボケのアプリケーションの場合、アプリケーションコード自体は本当にのためだけのレシピです文書を修正します。ボケアプリセッションが(つまり、ユーザがボケサーバー上のボケアプリへのURLを開くたび)が作成されるたびので、新しい空白は Document
それのために作成され、アプリのコードが実行され、新しい場所をDocument
そのセッションのためには、として利用可能ですcurdoc()
。そして、アプリのコードは、この文書に物事を追加することができます(例えばとcurdoc().add_root(...)
して、すぐにアプリのコードが終了すると、「完了」文書はJSONになってユーザーに表示するためにBokehJSに送信されますものです。
言及する最後のビットは、ボケサーバの主な目的は、ボケの文書が自動的に、ブラウザでのユーザーのビューと同期して、このようステーを作成していることを確認して作るにあるということです。ユーザーがスライダーをスクラブするSlider
と、ブラウザーのJSドキュメントのモデルが更新され、BokehサーバーのPythonドキュメントのpythonSliderオブジェクトも自動的に更新されます。アプリケーションはこれに応答し、他の変更を加えることができます(たとえば、Pythonデータソースを更新します)。これにより、JSデータソースも更新されます(したがって、プロットが変更されます)。この自動双方向の同期がボケサーバとのすべての洗練されたインタラクティブな機能を提供するものです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加