使用 Vega-lite 中的附加过滤器对字段进行排序

sorting on field with an additional filter in Vega-lite

这可能是一个有点晦涩的用例。

正如您在下面看到的,我覆盖了栏 (count)。我想在背景中对条形进行排序(其中 is_overview 设置为 1),但目前,过滤设置为所有 count,其中包括 is_overview 设置为 0。

我需要在 filtered 字段上进行排序。

我经历了 sorting documentation 但我无法找到支持此用例的方法。如果您有想法,我将不胜感激!

Editor code

如果您想要自定义排序行为,通常最好的方法是使用 calculate transform, which makes available all of the vega expression syntax,并定义一个新的自定义字段作为排序依据。

在您的示例中,您可以这样做:

  "transform": [
    {"calculate": "datum.is_overview ? datum.count : null", "as": "order"}
  ],

然后在 order 属性.

上排序

结果如下所示 (vega editor):