无法在 Altair 条形图中排序

Unable to sort in Altair bar-chart

无法让 Altair 对列进行排序。它似乎有自己的想法。尝试按 'count'.

排序
countries_df = pd.DataFrame(countries_top10, columns=["Country", "count"])
countries_df.sort_values(by=['count'], ascending=False, inplace=True)

alt.Chart(countries_df).mark_bar().encode(
    x=alt.X('count', sort=alt.EncodingSortField(field='count', order='descending')),
    y="Country"
).configure_axis(
    labelFontSize=16,
    titleFontSize=16).properties(
    width='container').interactive()

输出 [1]: https://i.stack.imgur.com/bO70I.png

EncodingSortField 方法仅适用于序数或名义尺度;您的比例是定量的,因此排序顺序将遵循定量轴。

看来您的目标是反转域,您可以这样做:

    x=alt.X('count', sort='descending'),

设法让它工作

alt.Chart(countries_df).mark_bar().encode(
    x='count',
    y=alt.Y('Country:N', sort='-x')