#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. Может ли кто-нибудь подтвердить, связана ли эта проблема с этой github.com/vega/vega-lite/pull/7436
2. Поднял билет по вышеуказанному вопросу github.com/vega/vega-lite/issues/7476 .