在 alt.Chart() 中指定标签的颜色

Specifiy colors for labels in alt.Chart()

假设我想用相应的颜色 ['blue', 'yellow', 'green'] 绘制 ['foo', 'bar', 'test']。我的解决方案如下:

alt.Chart(df, height=600, width=1100).mark_circle(size=100).encode(
        x='x',
        y='y',
        color=alt.Color('title:N', legend=None, scale=alt.Scale(range=['blue', 'yellow', 'green'])),
        tooltip=['sample', 'title']
    ).properties(
        selection=click
    ).interactive()

但这似乎是按任意顺序选择颜色,而不是像我预期的那样按升序排列。我希望 foo 被分配 blue 颜色并且 bar 应该变成 yellow 等等。

是否有可能 link 这个(标签和颜色)以某种方式?

Customizing Colors 部分的文档中有一些关于此的信息。简而言之,如果您想控制将哪些值分配给哪些颜色,您可以使用 domain 参数:

scale = alt.Scale(domain=['foo', 'bar', 'test'], range=['blue', 'yellow', 'green'])