Python:Altair条件颜色不透明度

Python:Altair条件颜色不透明度,python,matplotlib,data-visualization,seaborn,altair,Python,Matplotlib,Data Visualization,Seaborn,Altair,在Altair条件中,我想为次要条件颜色指定不透明度。 我在散点中的数据相当密集,因此我希望未选择的点消失(或多或少) ,我想要这个代码: selection=alt.selection\u multi(字段=['Origin']) 颜色=alt.condition(选择, alt.Color('原点:N',图例=无), alt.value('lightgray')#希望此值为%50不透明度 ) 散点=高度图(汽车)。标记点()。编码( x='马力:Q', y='英里每加仑:Q', 颜色=颜色,

在Altair条件中,我想为次要条件颜色指定不透明度。 我在散点中的数据相当密集,因此我希望未选择的点消失(或多或少)

,我想要这个代码:

selection=alt.selection\u multi(字段=['Origin'])
颜色=alt.condition(选择,
alt.Color('原点:N',图例=无),
alt.value('lightgray')#希望此值为%50不透明度
)
散点=高度图(汽车)。标记点()。编码(
x='马力:Q',
y='英里每加仑:Q',
颜色=颜色,
tooltip='Name:N'
)
图例=高度图表(汽车)。标记点()。编码(
y=alt.y('原点:N',轴=alt.axis(方向='右'),
颜色=颜色
).添加所选内容(
选择
)
散布|图例
要使颜色条件类似于:

color = alt.condition(selection,
                   alt.Color('Origin:N', legend=None),
                   alt.Color(value='lightgray', opacity=0.5)
)
然而,我似乎无法弄明白这一点,而且网上似乎也没有任何解决方案


谢谢

不透明度是一个单独的通道,因此您可以对颜色和不透明度设置条件:

color = alt.condition(selection,
                      alt.Color('Origin:N', legend=None),
                      alt.value('lightgray'))
opacity = alt.condition(selection, alt.value(1.0), alt.value(0.5))

scatter = alt.Chart(cars).mark_point().encode(
 x='Horsepower:Q',
 y='Miles_per_Gallon:Q',
 color=color,
 opacity=opacity,
 tooltip='Name:N'
)

作为上述问题的后续,使用,我无法确定图例标签(“起源”)如何放置在图例顶部。有什么建议吗?您应该使用交互式图例,而不是假装图例的图表:)