Заказать гистограмму в Альтаире?

Как я могу расположить гистограмму в порядке от наибольшего к наименьшему значению? Я попробовал приведенный ниже код, но он не дает ожидаемого результата.

Я бы хотел, чтобы бары были упорядочены на 'b', 'a', 'c' (по количеству)

df = pd.DataFrame([['a',2],['a',3],['b',4],['b',5],['b',4],['c',8]], columns=['Letters', 'Numbers'])

Letters Numbers
0   a   2
1   a   3
2   b   4
3   b   5
4   b   4
5   c   8

alt.Chart(df).mark_bar().encode(
   alt.X('Letters:N'),
   alt.Y('count():Q', sort=alt.EncodingSortField(field='count', op='count', order='ascending')))

График результатов


person max    schedule 18.10.2018    source источник


Ответы (1)


Ключевое слово sort необходимо применить к сортируемой оси - здесь это ось X.

alt.Chart(df).mark_bar().encode(
   alt.X('Letters:N', sort=alt.EncodingSortField(field="Letters", op="count", order='ascending')),
   alt.Y('count():Q'))
person max    schedule 18.10.2018