Как использовать alt.condition() в alt.color(условие=)?

#python #conditional-statements #altair

Вопрос:

Я новичок в altair, поэтому хочу иметь возможность более четко видеть свой код. вот почему я пытаюсь использовать длинную версию кода. моя проблема в том, что я не смог найти никакой документации о том, как использовать a alt.color(condition=) . Как я могу использовать condition= предпочтительно с alt.condition() ?

 brush = alt.selection_interval()  alt.Chart(cars).mark_point().encode(  alt.Y("Horsepower"),  alt.X("Miles_per_Gallon", title="consumption"),  #alt.Tooltip(["Name", "Origin"]),  #color=alt.condition(brush, 'Origin:N', alt.value('White')) I Know with this line my code will work   alt.Color(condition= alt.condition(brush,  alt.Color('Origin:N', legend=None),  alt.value('lightgray'))) ).add_selection(  brush )  

Ответ №1:

alt.condition это сокращение для создания полной alt.Color спецификации условной кодировки. Если вы хотите, вы можете создать его более вручную, как это:

 alt.Color(  condition={"selection": brush.name, "field": "Origin", "type": "nominal"},  value='lightgray')  

Если вы действительно настроены использовать alt.condition это в качестве аргумента condition= , вы могли бы сделать что-то вроде этого:

 alt.Color(  condition=alt.condition(brush, "Origin:N", "")["condition"],  value='lightgray')  

но это немного странно.