vl.markPoint({tooltip: {"content": "data"}, clip: true})
.data(data)
.encode(
vl.x().fieldT("date").timeUnit("monthdate"),
vl.y().fieldQ('temp_max').aggregate('mean'),
vl.color().fieldN("weather").scale({ range: weatherColors }),
vl.size().fieldQ('precipitation').scale({domain: [1, 50]})
)
.width(800)
.height(400)
.render()