You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Altair交互式图表:自定义色阶、隐藏图例与选择器兼容问题

解决方案:同时实现多选交互、自定义调色板与隐藏图例

当然可以同时搞定这三个需求!核心思路是把自定义调色板的颜色映射放到condition的选中分支里,未选中分支保持灰色,同时在颜色映射里设置隐藏图例。

具体实现代码

首先先定义你的自定义调色板(这里用示例色值,你可以换成自己的):

palette = ["#FF6B6B", "#4ECDC4", "#45B7D1"]  # 替换成你的自定义颜色

然后修改color的编码逻辑,把condition和自定义Color配置结合:

click = selection_multi(fields=['species'])

# 整合交互、自定义调色板与隐藏图例的color配置
color = condition(
    click,
    Color('species', scale=Scale(range=palette), legend=None),
    value('gray')
)

逻辑说明

  • 当你通过多选选择器选中某个/某些species时,选中的元素会使用你定义的自定义调色板渲染颜色;
  • 未被选中的元素会统一显示为灰色,完美保留交互高亮效果;
  • legend=None直接隐藏了图例,完全符合你的需求。

如果需要调整选择器的触发方式(比如点击图表元素而非图例,毕竟图例已经隐藏了),可以保持selection_multi的默认设置,或者根据需要添加其他绑定方式~

内容的提问来源于stack exchange,提问作者Primo Petri

火山引擎 最新活动