Holoviews:代码没有明确定义 UI 个组件

Holoviews: Code does not have UI components defined explicitly

我正在 Holoviews 中尝试使用以下示例代码来创建 select 下拉菜单并根据 selection 更新图形。

macro_df = pd.read_csv('http://assets.holoviews.org/macro.csv', '\t')
key_dimensions   = [('year', 'Year'), ('country', 'Country')]
value_dimensions = [('unem', 'Unemployment'), ('capmob', 'Capital Mobility'),
                    ('gdp', 'GDP Growth'), ('trade', 'Trade')]
macro = hv.Table(macro_df, key_dimensions, value_dimensions)

%%opts Curve (color='k') Scatter [color_index=2 size_index=2 scaling_factor=1.4] (cmap='Blues' edgecolors='k')
gdp_curves = macro.to.curve('Year', 'GDP Growth')
gdp_curves

如下图。上面的代码没有明确定义 UI 组件或其控件。我们如何以及在何处将 'Country' 声明为 select 下拉列表?我们如何配置选项以便 'Year' 可以成为下拉列表等?

在上面的示例中,'Country' 下拉列表是隐式生成的。这是因为 hv.Table 有两个所谓的关键维度 'Year' 和 'Country'(您应该将其视为独立变量)。因此,当您 运行 macro.to.curve('Year', 'GDP Growth') 时,它知道应该对第二个自变量('Country')进行分组。我们可以通过以下方式扩展 .to 声明:macro.to(hv.Curve, 'Year', 'GDP Growth', groupby='Country'),它基本上是说“将我的宏 table 变成一组 hv.Curve 元素绘制 'GDP Growth' 'Year' 每个 'Country'.