vega-lite: Ошибка при перетаскивании выбора интервала

#vega-lite #vega

Вопрос:

У меня есть график вега-лайт interval и single выбор. Я получаю ошибку в журналах как [Error] Cannot read property '0' of undefined .

Обратитесь к прилагаемой диаграмме в редакторе или к приведенному ниже коду.

 {
  "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
  "data": {
    "url": "data/cars.json"
  },
  "width": 500,
  "config": {
    "view": {"strokeWidth": 0},
    "text": {"fontSize": 13},
    "axis": {"labelFontSize": 13, "titleFontSize": 13},
    "axisY": {"labelPadding": 5}
  },
  "transform": [
    {
      "joinaggregate": [
        {
          "op": "average",
          "field": "Miles_per_Gallon",
          "as": "avg_Miles_per_Gallon"
        },
        {"op": "average", "field": "Displacement", "as": "avg_Displacement"}
      ]
    },
    {
      "calculate": "datum['Miles_per_Gallon']>datum['avg_Miles_per_Gallon'] ? 'Economic' : datum['Miles_per_Gallon']<=datum['avg_Miles_per_Gallon'] amp;amp; datum['Displacement']<datum['avg_Displacement'] ? 'Mediocre' : 'Performance'",
      "as": "Category"
    }
  ],
  "layer": [
    {
      "mark": {"type": "point", "filled": true, "size": 150, "clip": true},
      "selection": {
        "select": {
          "type": "interval",
          "on": "[mousedown[!event.shiftKey][!event.ctrlKey], window:mouseup] > window:mousemove!",
          "zoom": false,
          "empty": "none"
        },
        "gridY": {
          "type": "interval",
          "bind": "scales",
          "on": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
          "translate": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
          "zoom": "wheel![event.shiftKey]",
          "empty": "none"
        },
        "gridX": {
          "type": "interval",
          "bind": "scales",
          "on": "[mousedown[event.ctrlKey], window:mouseup] > window:mousemove!",
          "translate": "[mousedown[event.ctrlKey], window:mouseup] > window:mousemove!",
          "zoom": "wheel![event.ctrlKey]",
          "empty": "none"
        },
        "highlight": {
          "type": "single",
          "clear":false,
          "encodings": ["color"]
        }
      },
      "encoding": {
        "x": {
          "field": "Displacement",
          "type": "quantitative",
          "axis": {
            "grid": true,
            "title": "Displacement",
            "format": ",r",
            "tickCount": 5
          },
          "scale": {"zero": false}
        },
        "y": {
          "field": "Miles_per_Gallon",
          "type": "quantitative",
          "axis": {
            "title": "Miles/Gallon",
            "format": ",r",
            "ticks": false,
            "tickCount": 5
          },
          "scale": {"zero": false}
        },
        "fillOpacity": {
          "condition": {
            "test": {
              "and": [
                {"selection": "highlight"},
                "length(data("highlight_store"))"
              ]
            },
            "value": 0.9
          },
          "value": 0.3
        },
        "color": {
          "title": null,
          "field": "Category",
          "type": "nominal",
          "legend": {"orient": "right", "labelFontSize": 12}
        },
        "tooltip": [
          {"field": "Name", "title": "Name", "type": "nominal"},
          {
            "field": "Miles_per_Gallon",
            "title": "Miles/Gallon",
            "type": "quantitative",
            "format": ",.2f"
          },
          {
            "field": "Displacement",
            "title": "Displacement",
            "type": "quantitative",
            "format": ",.2f"
          }
        ]
      }
    }
  ]
}
 

Шаги следующие:

  1. Примените выбор интервала к некоторым точкам.
  2. Перетащите и переместите прямоугольник примененного интервала в другие точки.
  3. Я получаю ошибку в журналах, как упоминалось выше.

В чем может быть причина этой ошибки и как ее устранить.

Комментарии:

1. Может ли кто-нибудь подтвердить, связана ли эта проблема с этой github.com/vega/vega-lite/pull/7436

2. Поднял билет по вышеуказанному вопросу github.com/vega/vega-lite/issues/7476 .