提供最小值和最大值以在 vega lite 中构建数据集

问题描述 投票:0回答:1

我有一个 Vega 图,我需要仅根据最小、最大和类数的数据输入动态计算数据集并绘制条形图。 步骤应通过(最大 - 最小)/类数计算。

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "data": {
    "values": [
      {"value": 1, "color":"#fae6c3"},
      {"value": 2, "color":"#f0cd91"},
      {"value": 3, "color":"#ecb95f"},
      {"value": 4, "color":"#e6a532"},
      {"value": 5, "color":"#dc8c2d"}
    ]
  },
  "mark": "bar",
  "encoding": {"x": {"field": "value"}, "color": {"field": "color"}}
}

阅读文档,我发现我可以使用: -数据转换聚合最小值和最大值 -数据转换范围

输入数据是:

 "data": {
    "values": [
      {
          "min": 0,
          "max": 10,
          "numberOfClasses": 5    
        }
    ]
  },
visualization vega-lite
1个回答
0
投票

在此示例中,我向您展示如何获取最小和最大聚合以及如何在范围内进行过滤。我认为过滤器就是您现在所需要的。 如果这对您有帮助,请标记为已回答。 请提供一个真实的例子,以便我们帮助您。

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "data": {
    "values": [
      {"value": 1, "color": "#fae6c3"},
      {"value": 2, "color": "#f0cd91"},
      {"value": 3, "color": "#ecb95f"},
      {"value": 4, "color": "#e6a532"},
      {"value": 5, "color": "#dc8c2d"}
    ]
  },
  "transform": [
    {"joinaggregate": [{"op": "min", "field": "value", "as": "minVal"}]},
    {"joinaggregate": [{"op": "max", "field": "value", "as": "maxVal"}]},
    {"filter": "datum.value >= 2 && datum.value <= 4"}
  ],
  "mark": "bar",
  "encoding": {"x": {"field": "value"}, "color": {"field": "color"}}
}
© www.soinside.com 2019 - 2024. All rights reserved.