代码之家  ›  专栏  ›  技术社区  ›  max

订购牛郎星条形图?

  •  2
  • max  · 技术社区  · 6 年前

    我怎样才能把条形图按从大到小的顺序排列呢?我尝试了下面的代码,但它没有给我预期的结果。

    我想点“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')))
    

    Output chart

    1 回复  |  直到 6 年前
        1
  •  14
  •   max    6 年前

    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'))