Ваше выражение не работает, потому что вы сравниваете временное значение со строкой. Вам нужно проанализировать строку даты перед выполнением сравнения, что можно сделать с помощью функциональности Выражение Vega :
alt.Chart(df).mark_bar(size=30).encode(
x="Mth",
y="value",
color=alt.condition(
alt.datum.Mth == alt.expr.toDate('2019-03-01T00:00:00'),
alt.value("orange"), alt.value("steelblue")
),
tooltip=[alt.Tooltip("value", title="value"), alt.Tooltip("Mth", title="Month"),],
)
Обратите внимание, что здесь важно использовать полную строку времени ISO, поскольку часовой пояс, используемый Javascript при разборе дат, изменяется в зависимости от того, как отформатирована дата (например, в большинстве браузеров "2019-03-01"
анализируется как UT C время, в то время как "2019-03-01T00:00:00"
анализируется как местное время) и разбор нестандартных форматов даты варьируется от браузера к браузеру.
Более подробную информацию о Javascript можно найти в разделе https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse.