有没有办法在 Altair 中自定义选择详细信息图表的颜色?
Is there a way to customize the colors of a selection detail chart in Altair?
我一直在研究 Altair 画廊中的以下选择详细信息示例,因为我想我想对我拥有的一些数据做类似的事情:
https://altair-viz.github.io/gallery/select_detail.html
但是,我想知道有没有办法让所有的点和线都是统一的颜色,因为冗余编码让我感到困惑。到目前为止,我还没有想出办法来做到这一点。我可以使用 alt.Color 更改色标,但我不确定如何指定总共只有一种颜色。
您可以使用 detail
编码对观察结果进行分组,而无需为其分配视觉属性:
points = base.mark_point(filled=True, size=200).encode(
x='mean(x)',
y='mean(y)',
detail='id:O',
opacity=alt.condition(selector, alt.value(1), alt.value(0.2)),
)
timeseries = base.mark_line().encode(
x='time',
y=alt.Y('value', scale=alt.Scale(domain=(-15, 15))),
detail='id:O',
).transform_filter(
selector
)
points | timeseries
我一直在研究 Altair 画廊中的以下选择详细信息示例,因为我想我想对我拥有的一些数据做类似的事情:
https://altair-viz.github.io/gallery/select_detail.html
但是,我想知道有没有办法让所有的点和线都是统一的颜色,因为冗余编码让我感到困惑。到目前为止,我还没有想出办法来做到这一点。我可以使用 alt.Color 更改色标,但我不确定如何指定总共只有一种颜色。
您可以使用 detail
编码对观察结果进行分组,而无需为其分配视觉属性:
points = base.mark_point(filled=True, size=200).encode(
x='mean(x)',
y='mean(y)',
detail='id:O',
opacity=alt.condition(selector, alt.value(1), alt.value(0.2)),
)
timeseries = base.mark_line().encode(
x='time',
y=alt.Y('value', scale=alt.Scale(domain=(-15, 15))),
detail='id:O',
).transform_filter(
selector
)
points | timeseries