我创建了一个 vega-lite 示例,即使没有可见的条形图,您也可以在 y 轴上进行选择。创建一个 x 轴覆盖整个条形比例的层,并使用opacity: 0 使这些条形对该层透明。由于第二层的不透明度不可见,您仍然可以在 y 轴的空白空间上执行选择。下面是sn-p和editor:
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"width": "container",
"height": 250,
"data": {
"values": [
{"Origin": "USA", "value": 100},
{"Origin": "Japan", "value": 0},
{"Origin": "Europe", "value": 50},
{"Origin": "India", "value": 100}
]
},
"layer": [
{
"mark": "bar",
"encoding": {
"y": {"field": "Origin"},
"x": {"field": "value", "type": "quantitative"}
}
},
{
"params": [
{
"select": {"type": "point", "fields": ["Origin"]},
"name": "mySelection"
}
],
"transform": [{"calculate": "1", "as": "barSel"}],
"mark": {"type": "bar", "opacity": 0},
"encoding": {
"y": {"field": "Origin"},
"x": {
"field": "barSel",
"type": "quantitative",
"scale": {"domain": [0, 1]},
"axis": null
}
}
}
],
"resolve": {"scale": {"x": "independent"}, "axis": {"x": "independent"}}
}