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

时间:2018-02-06 12:59:32

标签: python data-visualization bokeh holoviews

我在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组件或其控件的明确定义。我们如何以及在何处声明“国家/地区”是选择下拉列表?我们如何配置选项以便'年'可以作为下拉菜单等?

enter image description here

1 个答案:

答案 0 :(得分:2)

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