Если вы хотите, чтобы выбор применялся ко всем точкам с одинаковым значением оси Y, вы можете передать encodings=["y"]
в пределах спецификации выбора:
"selection": {"select": {"type": "multi", "encodings": ["y"]}}
Невозможно, чтобы выбор реагировал, когдащелкнув фон графика. Но хороший прием для достижения этой цели - создать прозрачный фоновый элемент для реагирования на щелчки и использовать "nearest": true
в вашем выделении, чтобы разрешить щелчок в любом месте на поверхности диаграммы. Вот пример использования Vega-Lite JSON ( просмотр в реальном времени в Vega Editor ):
{
"encoding": {"y": {"type": "nominal", "field": "user", "title": null}},
"layer": [
{
"mark": {"type": "rule", "opacity": 0},
"selection": {
"select": {"type": "multi", "encodings": ["y"], "nearest": true}
}
},
{
"mark": {"type": "point", "cursor": "pointer"},
"encoding": {
"opacity": {
"condition": {"value": 1, "selection": "select"},
"value": 0.3
},
"x": {
"type": "temporal",
"field": "time",
"timeUnit": "yearmonthdatehoursminutes",
"title": null
}
}
}
],
"data": {
"values": [
{"time": "1970-01-31T00:00:00.000002019", "user": "B"},
{"time": "1970-02-28T00:00:00.000002019", "user": "B"},
{"time": "1970-03-31T00:00:00.000002019", "user": "C"},
{"time": "1970-04-30T00:00:00.000002019", "user": "E"},
{"time": "1970-05-31T00:00:00.000002019", "user": "E"},
{"time": "1970-06-30T00:00:00.000002019", "user": "F"},
{"time": "1970-07-31T00:00:00.000002019", "user": "F"},
{"time": "1970-08-31T00:00:00.000002019", "user": "A"},
{"time": "1970-09-30T00:00:00.000002019", "user": "F"},
{"time": "1970-10-31T00:00:00.000002019", "user": "A"},
{"time": "1970-11-30T00:00:00.000002019", "user": "E"},
{"time": "1970-12-31T00:00:00.000002019", "user": "A"},
{"time": "1971-01-31T00:00:00.000002019", "user": "D"},
{"time": "1971-02-28T00:00:00.000002019", "user": "C"},
{"time": "1971-03-31T00:00:00.000002019", "user": "C"},
{"time": "1971-04-30T00:00:00.000002019", "user": "A"},
{"time": "1971-05-31T00:00:00.000002019", "user": "D"},
{"time": "1971-06-30T00:00:00.000002019", "user": "E"},
{"time": "1971-07-31T00:00:00.000002019", "user": "D"},
{"time": "1971-08-31T00:00:00.000002019", "user": "A"},
{"time": "1971-09-30T00:00:00.000002019", "user": "A"},
{"time": "1971-10-31T00:00:00.000002019", "user": "D"},
{"time": "1971-11-30T00:00:00.000002019", "user": "B"},
{"time": "1971-12-31T00:00:00.000002019", "user": "E"},
{"time": "1972-01-31T00:00:00.000002019", "user": "F"},
{"time": "1972-02-29T00:00:00.000002019", "user": "A"},
{"time": "1972-03-31T00:00:00.000002019", "user": "B"},
{"time": "1972-04-30T00:00:00.000002019", "user": "D"},
{"time": "1972-05-31T00:00:00.000002019", "user": "F"},
{"time": "1972-06-30T00:00:00.000002019", "user": "B"},
{"time": "1972-07-31T00:00:00.000002019", "user": "F"},
{"time": "1972-08-31T00:00:00.000002019", "user": "A"}
]
}
}