将全息视图另存为交互式 html
Save Holoviews as interactive html
我有一个 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')
"filters" 听起来您指的是 select 沿 country
和 lan_name
维度的小部件。每次您 select 小部件的新值时,DynamicMap 都会调用您提供的 Python 函数(此处为 load_data
)来计算显示(这就是它 "Dynamic").当您拥有静态 HTML 文件时,没有可用的 Python 进程,因此在这种情况下显示永远不会更新。
要在静态 HTML 文件中提供一些有限的功能,您可以将 DynamicMap 转换为 HoloMap,其中包含某些特定小部件值组合 (http://holoviews.org/user_guide/Live_Data.html#Converting-from-DynamicMap-to-HoloMap) 的所有显示项目。结果参数 space 会很快变得非常大,因此您通常需要 select 一个可行的值子集才能成为一个实用的选项。
我有一个 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')
"filters" 听起来您指的是 select 沿 country
和 lan_name
维度的小部件。每次您 select 小部件的新值时,DynamicMap 都会调用您提供的 Python 函数(此处为 load_data
)来计算显示(这就是它 "Dynamic").当您拥有静态 HTML 文件时,没有可用的 Python 进程,因此在这种情况下显示永远不会更新。
要在静态 HTML 文件中提供一些有限的功能,您可以将 DynamicMap 转换为 HoloMap,其中包含某些特定小部件值组合 (http://holoviews.org/user_guide/Live_Data.html#Converting-from-DynamicMap-to-HoloMap) 的所有显示项目。结果参数 space 会很快变得非常大,因此您通常需要 select 一个可行的值子集才能成为一个实用的选项。