0

我在更新散景中的 legend_groups 时遇到问题:

我的数据基于四列:x 值、y 值、分类、地理。我在 Bokeh 中创建了一个散点图,所有散点都来自相同的 x 和 y 列。我根据分类列将散点分为两类(0 和 1)。然后,我使用 factor_mark 和 factor_color 来显示具有不同颜色(橙色和蓝色)的两个类别。

我进一步使用 legend_group 为散点图创建图例。这很好用。传说是这样的:

0 橙色 1 蓝色

这是一个代码片段:

renderer_scatter = plot.scatter(
    x='x', y='y', source=data_provider,
    view=data_provider.geography, size=5, fill_alpha=0.4,
    marker=factor_mark('x', ['hex', 'triangle'], 'categorization'),
    color=factor_cmap('x', 'Category10_3', 'categorization'), legend_group='categorization')

我进一步在我的仪表板中添加了一个下拉菜单,它根据地理位置指定我的数据视图。

不幸的是,当我更改视图时,legend_group 没有正确更新。根据地理位置,它看起来像这样:

0 蓝色 1 蓝色

或者

0 橙色 1 橙色

或者

0 橙色 1

等等。

散点图本身更新得很好。

你知道问题可能是什么吗?提前非常感谢!

4

1 回答 1

0

legend_group是在 Python 中创建图形时,预先计算图例条目一次的速记便利。如果您需要动态响应数据变化的东西,那么您想使用legend_field在浏览器中的“JavaScript 端”计算的东西。(或者,您可以LegendItem完全手动管理对象,在数据更改时添加和删除。)

于 2021-01-21T05:29:51.437 回答