如何向 Vega 输入数据添加新行

How to add new rows to Vega input data

是否有 Vega 变换允许用输出中的多行替换输入中的一行?

在我的特定用例中,我想转换以下输入数据

[
    {"open": "2019-01-01", "close": "2021-10-11"},
    {"open": "2020-22-22", "close": null}
]

进入以下输出:

[
    {"date": "2019-01-01", "type": "open"},
    {"date": "2021-10-11", "type": "close"},
    {"date": "2020-22-22", "type": "open"}
]

注意输入数据的第一行如何在输出中变成两行。

这是 Vega 编辑器中的 stub

Vega 变换 fold 可以做到这一点:

"transform": [
    {
      "type": "fold",
      "fields": ["open", "close"],
      "as": ["type", "date"]
    },
    {
      "type": "filter",
      "expr": "datum['date']"
    }
  ]
}

]

View in Vega on-line editor