2016-04-19 3 views
3

データの操作を可能にする様々なウィジェットを備えたインタラクティブBokehチャートを作成しました。私はこのようなプロットを共有する標準的な方法が何であるか、または共有するために保存する方法を理解したいと思っています。インタラクティブBokehチャートの保存

プロットはcurdocメソッドで作成され、session.show()を使用してBokehサーバーに出力されます。

#create current visualization using plot p and widgets inputs 
curdoc().add_root(HBox(inputs, p, width=1100)) 

#run the session 
session = push_session(curdoc()) 
session.show() # open the document in a browser 
session.loop_until_closed() # run forever 

答えて

3

実際のPythonコードがトリガーされますか?

もしそうでなければ、サーバー以外のスタンドアロン文書として再加工することを検討してください(例えば、CustomJSコールバックを使用)。そうすれば、どこにでも公開したり送信したりすることができ、すぐにアクセスできるようにする、自己完結型の静的HTMLファイルが生成されます。

あなたのアプリを行う場合、それは実際にはそれと対話するユーザーのためにどこか実行されている必要があり、仕事をするために、実際のP​​ythonコードを実行するに依存しています。まず、in the demo app galleryのようなサーバーで実行される実際のアプリケーションを作成することをお勧めします(ユーザーズガイドのUse Case Scenariosも参照してください)。具体的には、bokeh serve myapp.pyのように実行する実際のサーバーアプリは、特に出版のシナリオではbokeh.clientを使用することよりも優先されます(コードはシンプル/コードが少なく、パフォーマンスも向上します)。あなたは彼らにスクリプトを与える

  • と、彼らはあなたがアクセス可能であるURLをサーバー上で実行されている、それを残すことによって、アプリケーションを「展開」
  • ローカルに自分自身をbokeh serve app.pyを実行します。次に、アプリを配布することはいくつかのことを意味するかもしれませんあなたはアプリがありませんどのくらいの計算に依存して

を見ることができるようにしたいユーザー、そしてどのように多くのユーザー指定した時間に予想されるため、2番目のオプションはどこかbokeh serve app.pyを実行するだけである可能性があります。しかし、計算量が多い場合やトラフィックが多い場合は、ロードバランサの背後に、より洗練された「スケールアウト」展開が必要な場合があります。詳細については、ユーザーズガイドのDeployment Scenariosを参照してください。もちろん、public mailing listに関するさらに詳しい説明はお寄せください。最後に、近い将来、Bokehアプリケーションの自動スケーラブルパブリッシングを機能として利用できるようになります。https://anaconda.org/

+0

はい、このアプリケーションは、Pythonコードをトリガーして、ウィジェットの選択、あなたのリンクに表示されている例私はそのようなアプリケーションを展開する方法を理解することに興味があると思う。 – Marcus

+0

上記のリンクは、さまざまな展開シナリオに関する豊富な情報を持っています。それを超えて私は公開メーリングリストを訪れることを提案します。それはおそらく、あなたの特定のシナリオの詳細について、ヘルプを提供するための議論が増えるからです。 – bigreddot

関連する問題