2017-09-05 11 views
1

私はBokehで初心者です。curdoc()をHTMLファイルに保存することが可能かどうかを知りたいのですが?それはボケサーバーによってをを実行しなければならない、これはそれを保存することができない、機能するためにはボケアプリケーションあるBokehでcurdocを保存する

import numpy as np from bokeh.palettes 
import RdYlGn11 as palette from bokeh.plotting 
import figure from bokeh.layouts 
import row, widgetbox from bokeh.models 
import ColumnDataSource from bokeh.models.widgets 
import Slider, TextInput, Select from bokeh.io 
import curdoc, output_file, save, set_curdoc 
x = np.array([-10., -8., -7., -2., 0., 1., 2., 5., 7., 9.]) 
y = np.array([-15., -12., -9., -5., 1., 4., 6., 7., 9., 12.]) 
def f(x, y, a, b): 
    return a * x + b * y 
z = f(x, y, -2, 3.2) 
colors = np.array(palette) 
task_color = np.arange(-10, 10, 10) 
source = ColumnDataSource(data = dict(X = x, Y = y, Z = z, color = colors[task_color.searchsorted(z)])) 
plot = figure(plot_height = 800, plot_width = 800) 
plot.circle("X", "Y", size = 10, line_color = "color", fill_color = "color", source = source) 
plot.text("X", "Y", text = "Z", source = source) 
A = Slider(title = "First coefficient", value = -2., start = -10, end = 10, step = 1.) 
B = Slider(title = "Second coefficient", value = 3.2, start = 0., end = 5., step = 0.1) 
def update_data(attrname, ols, new): 
    a = A.value 
b = B.value 
x = np.array([-10., -8., -7., -2., 0., 1., 2., 5., 7., 9.]) 
y = np.array([-15., -12., -9., -5., 1., 4., 6., 7., 9., 12.]) 
z = f(x, y, a, b) 
source.data = dict(X = x, Y = y, Z = z, color = colors[task_color.searchsorted(z)]) 
for w in [A, B]: 
    w.on_change('value', update_data) 
inputs = widgetbox(A, B) 
curdoc().add_root(row(inputs, plot)) 
curdoc().title = "My test" 

答えて

2

:私たちは、下記の例のように私の小さなテストを取ることができます。上記のコードは、ファイルapp.pyである場合、すなわち、それに機能を取得し、実行するための唯一の方法は、あなたのコマンドラインで

bokeh serve --show app.py 

を実行することです。 のBokehサーバーなしで実行するように「保存」する方法はありません。アプリケーションを指定してビルドするためのスクリプト以外にも、Bokehサーブ内で実行する必要があります。参照:

http://bokeh.pydata.org/en/latest/docs/user_guide/server.html

Alernatively、あなたはコールバックで本当の、実際のP​​ythonコードを実行する必要がない場合、あなたは多くの非常にインタラクティブなスタンドアロン(すなわち無ボケサーバー)を持つことができますCustomJSのようなものでプロットコールバック。参照:

http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/widgets.html#userguide-interaction-widgets

関連する問題