Рассмотрим следующий код, адаптированный из веб-сайта Altair .
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['A', 'B', 'B', 'B', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
brush = alt.selection(type='single')
alt.Chart(source).mark_point(filled=True).encode(
x='a',
y='b:Q',
shape='a',
color=alt.condition(brush,
alt.Color('b:N', legend=alt.Legend(columns=2, symbolFillColor='blue')),
alt.value(None)),
).add_selection(brush)
На выходе получается этот график:
введите описание изображения здесь
Когда я щелкаю точку данных, все остальные исчезают, и это нормально.
Проблема находится в легенде , где фигуры не имеют цвет , из-за alt.value(None))
.
Как мне установить цвет, отличный от невидимого, для фигур внутри легенды, сохраняя выделение (когда я щелкаю точку данных, которая заставляет все остальные исчезать)?
Я пробовал symbolFillColor='blue'
, symbolStrokeColor='blue'
, но это не меняет цвет формы.
Спасибо :)