我在Holoviews中尝试以下示例代码,用于创建选择下拉列表并根据选择更新图形。
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组件或其控件的明确定义。我们如何以及在何处声明“国家/地区”是选择下拉列表?我们如何配置选项以便'年'可以作为下拉菜单等?
答案 0 :(得分:2)
在上面的例子中,'国家'下拉是隐式生成的。这是因为hv.Table有两个所谓的关键维度'年'和国家' (您应该将其视为自变量)。当你运行macro.to.curve('Year', 'GDP Growth')
时,它知道它应该分组的第二个自变量('国家')。我们可以通过以下方式扩展.to
声明:macro.to(hv.Curve, 'Year', 'GDP Growth', groupby='Country')
,它基本上说"将我的宏表变成一组hv.Curve
元素,用于绘制GDP增长&# 39;年'年对于每个国家'。