需要使用sort对x轴进行排序,并且要使用DataFrame的sort_values按列排序。以下是示例代码:
import pandas as pd import altair as alt
data = pd.DataFrame({ 'letter': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], 'price': [4, 7, 5, 8, 9, 6, 3, 2, 1], 'day': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon'] })
chart = alt.Chart(data).mark_bar().encode( x=alt.X('letter:O', sort=alt.EncodingSortField(field='price', op='max', order='descending')), y=alt.Y('price:Q') )
chart.show()