Python 如何从Altair中按层次排列或过滤此绘图?

Python 如何从Altair中按层次排列或过滤此绘图?,python,altair,Python,Altair,我一直在寻找有关如何在没有运气的情况下在Altair上按层次排序或过滤此viz的信息。我的意思是,按顺序排列,从计数多的值到计数少的值。另外,过滤前十个,这样我可以得到一个更好的图表。你们知道我怎样才能得到那个结果吗 这是我的密码: alt.Chart(df).mark_bar().encode( x = alt.X('count()'), y = alt.Y('proveedor_nombre:N') ) 这是我的结果(我删掉了它,因为它太大了): 我提前向各位表示感

我一直在寻找有关如何在没有运气的情况下在Altair上按层次排序或过滤此viz的信息。我的意思是,按顺序排列,从计数多的值到计数少的值。另外,过滤前十个,这样我可以得到一个更好的图表。你们知道我怎样才能得到那个结果吗

这是我的密码:

   alt.Chart(df).mark_bar().encode(
    x = alt.X('count()'),
    y = alt.Y('proveedor_nombre:N')
)
这是我的结果(我删掉了它,因为它太大了):


我提前向各位表示感谢。

您可以按照Altair文档中的示例执行此操作,后面跟着一个:

alt.Chart(df).transform\u聚合(
count='count()',
groupby=['proveedor_nombre']
).转换窗口(
rank='rank(count)',
排序=[alt.SortField('count',order='descending')]
).transform_过滤器(

alt.datum.rank您可以按照Altair文档中的示例执行此操作,后面跟着a:

alt.Chart(df).transform\u聚合(
count='count()',
groupby=['proveedor_nombre']
).转换窗口(
rank='rank(count)',
排序=[alt.SortField('count',order='descending')]
).transform_过滤器(

alt.datum.rank我尝试了这个,以及您推荐的文档。特别是“Top K Items”示例,但都按字母顺序排列,只显示了前五个:(对不起,我误读了您的问题。我编辑了答案,按计数排序。这是否符合您的要求?我尝试了这个,以及您推荐的文档。特别是“前K项”示例,但都按字母顺序排列,只显示前五项:(对不起,我误读了你的问题。我将答案编辑为按计数排序。这符合你的要求吗?