Сохранить Holoviews как интерактивный HTML - PullRequest
1 голос
/ 28 сентября 2019

У меня есть код Holoviews с намерением сохранить вывод в формате .html.Ниже работает нормально, т. Е. Генерируется html и теги отображаются, но фильтры не работают.Что я делаю не так?

def load_data(country, lan_name, **kwargs):
    df = subset
    if country != 'ALL':
        df = df[(df.country == country)]
    if lan_name != 'ALL':
        df = df[(df.lan_name == lan_name)]

    table = format_chars(df['term'], df['hex'])
    #hv.Table(df, ['country', 'lan_name'], [], label='Data Table')

    layout = (table).opts(
        opts.Layout(merge_tools=False),
        opts.Div(width=700, height=400),
    )
    return layout

methods = ['ALL'] + sorted(list(subset['country'].unique()))
models = ['ALL'] + sorted(list(subset['lan_name'].unique()))
dmap = hv.DynamicMap(load_data, kdims=['country', 'lan_name']).redim.values(country=methods, lan_name=models)
hv.save(dmap, 'output.html', backend='bokeh')

1 Ответ

1 голос
/ 29 сентября 2019

Под «фильтрами» звучит так, как будто вы имеете в виду виджеты, которые выбираются по измерениям country и lan_name.Каждый раз, когда вы выбираете новое значение виджета, DynamicMap вызывает функцию Python, которую вы предоставляете (load_data здесь), чтобы вычислить отображение (что делает его «Динамическим»).При наличии статического HTML-файла процесс Python недоступен, поэтому отображение никогда не будет обновляться в этом случае.

Чтобы сделать некоторые ограниченные функции доступными в статическом HTML-файле, можно преобразовать DynamicMap вHoloMap, который содержит все отображаемые элементы для некоторых конкретных комбинаций значений виджетов (http://holoviews.org/user_guide/Live_Data.html#Converting-from-DynamicMap-to-HoloMap).. Результирующее пространство параметров может быстро стать достаточно большим, поэтому вам часто придется выбирать допустимое подмножество значений, чтобы это было практическим вариантом.

...