You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在alt.Color的condition参数中使用alt.condition()方法

你当前的代码逻辑是正确的,仅需要调整参数的嵌套位置即可正常运行:alt.Color的全局配置(比如legend、scale、title)不要放在alt.condition内部,要放在alt.Color的顶层参数中。

正确的长格式写法

brush = alt.selection_interval()

alt.Chart(cars).mark_point().encode(
    alt.Y("Horsepower"),
    alt.X("Miles_per_Gallon", title="consumption"),
    alt.Color(
        condition=alt.condition(
            brush, 
            'Origin:N',  # 选中态直接指定映射的字段和类型
            alt.value('lightgray')  # 未选中态指定固定颜色值
        ),
        legend=None  # 图例隐藏的配置放在alt.Color顶层即可
    )
).add_selection(
    brush
)

长格式下的使用规则

  • alt.Color的condition参数仅接收alt.condition()返回的条件配置,不需要再嵌套一层alt.Color定义
  • 如果你追求完全统一的长格式编码风格,选中态的字段也可以写成规范的长格式:alt.Field('Origin', type='nominal')
  • 所有通道全局配置(自定义色阶、图例设置、标题设置等)都统一放在alt.Color的顶层参数中,示例如下:
alt.Color(
    condition=alt.condition(
        brush, 
        alt.Field('Origin', type='nominal'),
        alt.value('lightgray')
    ),
    title="汽车产地",
    legend=alt.Legend(orient='bottom'),
    scale=alt.Scale(range=['#e63946', '#457b9d', '#1d3557'])
)

内容的提问来源于stack exchange,提问作者Mostafa Bouzari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:36:08