Altair:对选定的列使用可变的配色方案

西蒙

我有一个带有3个不同值列的GeoDataFrame,可以通过下拉列表分别选择。当前,对于所有3个选定的列,图表的配色方案为“蓝色”。但是,我想选择更加灵活的配色方案,以便每列都有不同的配色方案,例如['blues','greens','purples']。

我一直在尝试使用嵌套条件,编码和transform_calculate条件解决此问题,但没有成功。这有可能实现吗?

在此处输入图片说明

columns = ['BinPer', 'DinPer', 'BEVinPer']
select_box = alt.binding_select(options=columns, name='column')
sel = alt.selection_single(fields=['column'], bind=select_box, init={'column': 'BinPer'}, 
                           clear=False,
                           on="click[event.shiftKey&!event.shiftKey]")

map_ = alt.Chart(source).transform_fold(
    columns,
    as_=['column', 'value']
).transform_filter(
    sel
).mark_geoshape(
    stroke='white',
    strokeWidth=0.5
).encode(     
    color = alt.Color('value:Q', scale=alt.Scale(scheme='blues'))
).add_selection(
    sel
)
map_

在此处输入图片说明

jakevdp

不可以,无法根据从内置下拉菜单中选择的值来更改单个图表中的配色方案。

如果您想做这样的事情,最好的选择可能是使用像ipywidgets这样的工具来定义下拉菜单,并为每个值输出具有所需颜色方案的图表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章