Создать автономный документ Bokeh с JS - PullRequest
0 голосов
/ 06 ноября 2019

Попытка переписать пример Bokeh в качестве отдельного документа, но не знаю, как я могу добавить виджеты в HTML-файл.

С помощью "file_html" я могу создать HTML-строку, но что мне делать, если я тоже хочусохранять и добавлять виджеты, такие как ползунки, кнопки и т. д.?

from bokeh.models.widgets import *
from bokeh.models import ColumnDataSource, Slider
from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import file_html
from bokeh.sampledata.sea_surface_temperature import sea_surface_temperature

def bkapp():
    df = sea_surface_temperature.copy()
    source = ColumnDataSource(data=df)

    plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
                  title="Sea Surface Temperature at 43.18, -70.43")
    plot.line('time', 'temperature', source=source)

    def callback(attr, old, new):
        if new == 0:
            data = df
        else:
            data = df.rolling('{0}D'.format(new)).mean()
        source.data = ColumnDataSource(data=data).data

    slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
    slider.on_change('value', callback)


    html = file_html(plot, CDN, "myplot")
    with open('my-plot.html','w') as file:
        file.write(html)

1 Ответ

0 голосов
/ 06 ноября 2019

file_html принимает только один объект, но нет причины, по которой объект не может быть макетом:

from bokeh.layouts import column

html = file_html(column(slider, plot), CDN, "myplot")
...