【问题标题】:Bokeh: Updating of legend when using different views散景:使用不同视图时更新图例
【发布时间】:2021-04-23 15:14:54
【问题描述】:

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

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

我进一步使用 legend_group 为散点图创建图例。这很好用。图例如下所示:

0 橙色 1 蓝色

这里是代码sn-p:

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

等等。

散点图本身更新得很好。

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

【问题讨论】:

    标签: python bokeh pandas-bokeh


    【解决方案1】:

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

    【讨论】:

    • 您好 bigreddot,非常感谢您的回复。 legend_field 也有同样的问题。我现在通过按照您的建议单独添加每个图例来修复它。再次感谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多