在 Altair 中订购条形图?
Order bar chart in Altair?
我如何排序我的条形图以使其按从大到小的顺序排列?我尝试了下面的代码,但它没有给我预期的结果。
我想要订购的金条 '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')))
排序关键字需要应用于正在排序的轴 - 这里是 X 轴。
alt.Chart(df).mark_bar().encode(
alt.X('Letters:N', sort=alt.EncodingSortField(field="Letters", op="count", order='ascending')),
alt.Y('count():Q'))
简单的选择,指定您要排序的频道:
alt.Chart(df).mark_bar().encode(
alt.X('Letters:N', sort='-y'),
alt.Y('count():Q'))
我如何排序我的条形图以使其按从大到小的顺序排列?我尝试了下面的代码,但它没有给我预期的结果。
我想要订购的金条 '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')))
排序关键字需要应用于正在排序的轴 - 这里是 X 轴。
alt.Chart(df).mark_bar().encode(
alt.X('Letters:N', sort=alt.EncodingSortField(field="Letters", op="count", order='ascending')),
alt.Y('count():Q'))
简单的选择,指定您要排序的频道:
alt.Chart(df).mark_bar().encode(
alt.X('Letters:N', sort='-y'),
alt.Y('count():Q'))