{
const panzoom = vl
.selectInterval()
.bind("scales")
.translate(
"[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!"
)
.zoom("wheel!");
const brush = vl
.selectInterval()
.resolve("union")
.on("[mousedown[event.shiftKey], window:mouseup] > window:mousemove!")
.translate(
"[mousedown[event.shiftKey], window:mouseup] > window:mousemove!"
)
.zoom(null);
return (
vl
.markPoint()
.data(
pokedexList
.filter((mon) => mon.baseExp)
.map((mon) => ({
...mon,
baseExp: mon.baseExp,
evYieldTotal: evYieldTotal(mon),
baseStatTotal: baseStatTotal(mon),
img: getSpriteUrl(mon)
}))
)
.params(panzoom, brush)
.width(600)
.height(400)
.encode(
vl.x().fieldQ("baseStatTotal"),
vl.y().fieldQ("catchRate"),
vl.tooltip().field("name"),
vl.color().field("evYieldTotal")
)
.render({ renderer: "svg" })
);
}