2016-11-29 6 views
0

Я пробовал себя в Боке. Я считаю это довольно интересным, поскольку это кажется хорошей альтернативой D3js. В первой небольшой попытке я хочу создать небольшую интерактивную диаграмму круга с виджетами (для изменения названия и, возможно, цвета/размера глифа). Вот что я делаю:Почему боке-шоу (сюжет) не работает?

# interactive widget bokeh figure 
from bokeh.io import curdoc 
from bokeh.layouts import row, widgetbox 
from bokeh.models import ColumnDataSource 
from bokeh.models.widgets import Slider, TextInput 
from bokeh.plotting import figure 
import numpy as np 

     # data 
x = [-4, 3, 2, 4, 10, 11, -2, 6] 
y = [-3, 2, 2, 9, 11, 12, -5, 6]  


     # Set up plotting 

x_top = np.max(x)+np.var(x) 
x_bottom = np.min(x)-np.var(x) 
y_top = np.max(y)+np.var(y) 
y_bottom = np.min(y)-np.var(y) 

p = figure(plot_height=400, plot_width=400, title="a little interactive chart",   
       tools="crosshair,pan,reset,save,wheel_zoom", 
       x_range=[x_bottom, x_top], y_range=[y_bottom, y_top]) 

p.circle(x, y, fill_color="red", line_color="red", size=6) 


     # Set up widgets 
text = TextInput(title="title", value='a little interavtive chart') 
size = Slider(title="circle size", value = 6, start=0, end=10, step=0.1) 


     # Set up callbacks 
def update_title(attrname, old, new): 
    p.title.text = text.value 

text.on_change('value', update_title) 

# # Set up layouts and add to document 
inputs = widgetbox(text, size) 

curdoc().add_root(row(inputs, p, width=800)) 
curdoc().title = "Sliders" 

show(p) 

Как-то я не вижу визуального результата - никаких ошибок, но результата нет. Мой хук в том, что я неправильно использую curdoc(). Любые идеи о том, почему я получаю пустой самолет?

ответ

1

Если вы создаете приложения bokeh, используя обратные вызовы python и curdoc, как вы, кажется, делаете, то вы не запускаете их напрямую с помощью интерпретатора python. Вам необходимо запустить их с сервера Bokeh:

bokeh serve --show myapp.py 
+0

Спасибо! Как это работает? Я просто добавил 'bokeh serve --show myapp.py' как comand в конце - и я получаю сообщение об ошибке. Что мне нужно сделать вместо этого? – Rachel

+0

Спасибо! Я понял! Командная подсказка! – Rachel

+0

Есть ли возможность обойти подсказку comand и использовать 'show (plot)' вместо этого? – Rachel

 Смежные вопросы

  • Нет связанных вопросов^_^