【问题标题】:Save Holoviews as interactive html将 Holoviews 保存为交互式 html
【发布时间】:2019-09-29 23:51:21
【问题描述】:

我有一个 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')

【问题讨论】:

    标签: python pandas holoviews


    【解决方案1】:

    “过滤器”听起来像是指沿countrylan_name 维度选择的小部件。每次您选择小部件的新值时,DynamicMap 都会调用您提供的 Python 函数(此处为load_data)来计算显示(这就是使其“动态”的原因)。当您拥有静态 HTML 文件时,没有可用的 Python 进程,因此在这种情况下,显示将永远不会更新。

    要在静态 HTML 文件中提供一些有限的功能,您可以将 DynamicMap 转换为 HoloMap,其中包含小部件值的某些特定组合的所有显示项目 (http://holoviews.org/user_guide/Live_Data.html#Converting-from-DynamicMap-to-HoloMap)。生成的参数空间很快就会变得非常大,因此您通常需要选择一个可行的值子集,以使其成为一个实用的选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多