Я не могу выполнить эту, казалось бы, простую задачу отображения значения только максимальной полосы над самой полосой - например, аннотировать максимальную полосу.
Для кода ниже я хотел бы увидеть текст только над полосой со значением 16.
data = pd.DataFrame({'time':[0,1,2,3,4,5,6,7,8,9], 'value':[1,2,4,8,16,11,9,7,5,3]})
bar = alt.Chart(data).mark_bar(opacity=1, width=15).encode(
x='time:T',
y='value:Q',
color = alt.condition(alt.datum.time>7, alt.value('red'), alt.value('steelblue')) #hackey way to highlight last 'n' bars
)
text = bar.mark_text(align='center', dy=-10).encode(
text='value:Q'
)
bar+text
Я пробовал использовать некоторые преобразования и использовать argmax
и max
, но пока ничего не работает. Либо все они отображают значение, либо все Null
.