使用Vega-lite在基巴纳分组的条形图

时间:2019-12-03 03:54:24

标签: elasticsearch kibana vega-lite

通过查看https://vega.github.io/editor/#/examples/vega-lite/bar_grouped,它显示了从数据表中创建分组条形图的示例。

就我而言,由于我是从Elasticsearch获取数据的,因此它不是表格形式的。

我想不出一种方法来为存储桶上的每个总和指标创建两个条形图。

"buckets" : [
        {
          "key_as_string" : "03/Dec/2019:00:00:00 +0900",
          "key" : 1575298800000,
          "doc_count" : 11187,
          "deploy_agg" : {
            "buckets" : {
              "deploy_count" : {
                "doc_count" : 43
              }
            }
          },
          "start_agg" : {
            "buckets" : {
              "start_count" : {
                "doc_count" : 171
              }
            }
          },
          "sum_start_agg" : {
            "value" : 171.0
          },
          "sum_deploy_agg" : {
            "value" : 43.0
          }
        },..

我想创建两个小节,一个代表sum_start_agg的值,另一个代表sum_deploy_agg的值。

这就是我的一张条形图。

  "encoding": {
    "x": {
      "field": "key",
      "type": "temporal",
      "axis": {"title": "DATE"}
    },
    "y": {
      "field": "deploy_agg.buckets.deploy_count.doc_count",
      "type": "quantitative",
      "axis": {"title": "deploy_count"}
    }
    "color": {"value": "green"}
    "tooltip": [
        {
        "field": "deploy_agg.buckets.deploy_count.doc_count",
        "type": "quantitative",
        "title":"value"
        }
      ]
  }

1 个答案:

答案 0 :(得分:0)

您可以使用Fold Transform折叠两列,以便可以在编码中引用它们。它可能看起来像这样:

lower_full = ((zfit.Space.ANY_LOWER, zfit.Space.ANY_LOWER),)
upper_full = ((zfit.Space.ANY_UPPER, zfit.Space.ANY_UPPER),)
integral_full_limits = zfit.Space.from_axes(axes=(0, 1),
                                            limits=(lower_full, upper_full))

enter image description here