2

我是 Vega 和 Vega-Lite 的新手。我正在使用 Vega-Lite 创建一个简单的条形图,但我无法添加任何事件侦听器,例如“悬停”。

我想悬停一个栏并更改栏的颜色。

4

1 回答 1

8

如果您使用的是Vega-Embed,它会返回一个包含对允许您使用的视图的引用的承诺addEventListener-在此处的文档中进行了解释

这是一个例子:

const width = 600
const color = blue
embed(element, {
    $schema: 'https://vega.github.io/schema/vega-lite/3.0.0-rc6.json',
    data: { 'values': data },
    mark: {
        type: 'line',
        color,
        point: {
            color,
        }
    },
    width,
    height: width / 2,
    encoding: {
        'x': {
            field: 'label',
            type: 'temporal',
        },
        'y': {
            field: 'value',
            type: 'quantitative',
        },
    }
}).then(({spec, view}) => {
    view.addEventListener('mouseover', function (event, item) {
        console.log(item.datum)
    })
})
于 2018-10-17T23:50:02.790 回答