vl.data(data)
.encode(
vl.x().fieldO("Date").axis({ grid: true }),
)
.layer(
vl.markCircle()
.encode(
vl.y().fieldQ("Amount").axis({ grid: false }),
vl.color().fieldN("Type of exercise"),
vl.tooltip().fieldQ("Amount"),
),
vl.markLine({ interpolate: "basis" })
.encode(
vl.y().mean("Amount"),
vl.color().fieldN("Type of exercise"),
vl.tooltip().mean("Amount")
)
)
.render()