Я пробовал себя в Боке. Я считаю это довольно интересным, поскольку это кажется хорошей альтернативой 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()
. Любые идеи о том, почему я получаю пустой самолет?
Спасибо! Как это работает? Я просто добавил 'bokeh serve --show myapp.py' как comand в конце - и я получаю сообщение об ошибке. Что мне нужно сделать вместо этого? – Rachel
Спасибо! Я понял! Командная подсказка! – Rachel
Есть ли возможность обойти подсказку comand и использовать 'show (plot)' вместо этого? – Rachel