{
const hover = vl.selectSingle()
.on('mouseover')
.nearest(true)
.empty('none');
const plot = vl.markCircle()
.encode(
vl.x().fieldQ('Rotten_Tomatoes_Rating'),
vl.y().fieldQ('IMDB_Rating')
);
const base = plot.transform(
vl.filter(hover)
);
const halo = {size: 150, stroke: 'red', strokeWidth: 3};
const label = { align: 'right', fontSize: 20, fontWeight: 'bold' }
const white = { stroke: 'white', strokeWidth: 3 }
const everything =
vl.data(movies)
.layer(
plot.select(hover),
base.markPoint(halo),
base.markText(white, label).encode(vl.text().fieldN('Title')),
base.markText(label).encode(vl.text().fieldN('Title'))
)
return everything.render()
}