我有一张既有行又有列的刻面图.我想按最大值从左到右和从上到下对行和列进行排序(左上角是最大的).当我们的每一行和每一列都有数据时,这种方法工作得很好,但是如果缺少一些数据,那么这些值就会被推到错误的行或列中,如您在下面看到的.

这是个窃听器吗?

我设法通过用一个JavaScript函数推入假值来解决这个问题,但我只是想判断一下这里出了什么问题.将鼠标悬停在每个方框上,你会看到日本现在已经进入了欧洲.

{
  "data": {"url": "data/cars.json"},
  "mark": "bar",
  "transform": [
    {
      "filter": "datum.Origin === 'Japan' || datum.Origin === 'Europe'"
    },
    {
      "filter": "datum.Horsepower >= 110"
    },
    {
      "joinaggregate": [{"op": "count", "field": "Name", "as": "CountOrigin"}],
      "groupby": ["Origin"]
    },
    {
      "calculate": "slice('000000' + format(datum.CountOrigin, '.0f'), -6) + '-' + datum.Origin",
      "as": "OriginSort"
    },
    {
      "joinaggregate": [
        {"op": "count", "field": "Name", "as": "CountCylinders"}
      ],
      "groupby": ["Cylinders"]
    },
    {
      "calculate": "slice('000000' + format(datum.CountCylinders, '.0f'), -6) + '-' + format(datum.Cylinders, '.0f')",
      "as": "CylindersSort"
    }
  ],
  "encoding": {
    "y": {"aggregate": "count", "field": "Name", "type": "quantitative"},
    "row": {
      "field": "Origin",
      "type": "nominal",
      "sort": {"field": "OriginSort", "order": "descending"}
    },
    "column": {
      "field": "Cylinders",
      "type": "quantitative",
      "sort": {"field": "CylindersSort", "order": "descending"}
    },
    "tooltip": [
      {"field": "Name"},
      {"field": "Origin"},
      {"field": "OriginSort"},
      {"field": "CylindersSort"}
    ],
    "color": {"field": "Horsepower", "type": "ordinal"}
  }
}

推荐答案

是的,这是个窃听器.查看此处了解更多背景信息:https://github.com/vega/vega-lite/issues/8675

Json相关问答推荐

合并二维数组的Jolt表达式

我可以使用JQ来缩小数组中的json对象的范围吗?

Jolt将键和值转换为单独的数组集

如何创建生成两个不同对象的JSON数组的SQL查询?

在MongoDB中检索某个月份和年份的JSON文档

如何将文件夹组织的.json文件合并为一个JSON文件,文件夹/文件名作为键

如何对未知/变量键的字典进行编码?

如何使用SQLite Trigger将JSON对象数组转换为新记录?

Jolt 变换 - 如何用字段值重命名字段?

Serde JSON 反序列化枚举

如何比较 JSON 文档并返回与 Jackson 或 Gson 的差异?

Jackson 的@JsonView、@JsonFilter 和 Spring

如何获取json格式的KendoGrid显示数据?

使用 JSON 的 javascript 深拷贝

在 Qt 4.7 中解析 JSON 的最简单方法

使用 Node.js 对 JSON 中的字符串大小有限制吗?

将 javascript 对象或数组转换为 json 以获取 ajax 数据

严重:找不到媒体类型 = 应用程序/json、类型 = 类 com.jersey.jaxb.Todo、通用类型 = 类 com.jersey.jaxb.Todo 的 MessageBodyWriter

PHP json_encode json_decode UTF-8

JSON.stringify 向我的 Json 对象添加额外的 \ 和 "" 的问题