2015-09-05 67 views
2

有沒有人有一個如何通過單擊Bokeh中的按鈕在jupyter中運行python代碼的例子?通過點擊散景中的按鈕運行python代碼

+0

[documentat離子](http://bokeh.pydata.org/en/latest/docs/user_guide/notebook.html) –

+0

這與我正在嘗試完成的相似,但與選擇的項目有關以及涉及更多:https:// github.com/bokeh/bokeh/blob/master/examples/app/stock_applet/stock_app_simple.py – Chuck

+0

這裏的答案很好。你應該接受它,如果你覺得它已經回答了你的問題。 – ryanjdillon

回答

9

UPDATE原來的答案已經過時了。答案已更新,以反映其發佈於2016年一月

從滑塊演示削減一個完整的例子,因爲背景虛化0.11變化,使用功能從背景虛化0.12.4

from numpy import linspace, pi, sin 

from bokeh.io import curdoc 
from bokeh.layouts import row, widgetbox 
from bokeh.models import ColumnDataSource, Slider 
from bokeh.plotting import figure 

# Set up data 
x = linspace(0, 4*pi, 200) 
y = sin(x) 
source = ColumnDataSource(data=dict(x=x, y=y)) 

# Set up plot 
plot = figure(x_range=(0, 4*pi), y_range=(-2.5, 2.5)) 
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6) 

# Set up widgets 
amplitude = Slider(title="amplitude", value=1.0, start=-5.0, end=5.0) 
freq = Slider(title="frequency", value=1.0, start=0.1, end=5.1) 

# Set up callbacks 
def update(attrname, old, new): 
    # Get the current slider values 
    a = amplitude.value 
    k = freq.value 

    # Update the data for the new curve 
    source.data = dict(x=x, y=a*sin(k*x)) 

amplitude.on_change('value', update) 
freq.on_change('value', update) 

# Set up layout and add to document 
inputs = widgetbox(amplitude, freq) 
curdoc().add_root(row(inputs, plot, width=1200)) 

運行與bokeh serve --show <filename>並獲得以下響應Web應用程序在瀏覽器中:

Simplified Bokeh Sliders demo

+0

這真的很有幫助。我很感激。 – Chuck

+3

享受!隨時接受/ upvote我的答案。 – mdurant

+0

請注意,新版本的散景服務器應該使這更容易/更好,但我還沒有玩過它。 – mdurant