{
const minTemp = vl.markCircle()
.data(Weather).encode(
vl.x().fieldQ("temp_min"),
vl.y().fieldQ("wind"),
vl.color().fieldN("weather")
);
const maxTemp = vl.markCircle()
.data(Weather).encode(
vl.x().fieldQ("temp_max"),
vl.y().fieldQ("wind"),
vl.color().fieldN("weather")
);
const barChart = vl.markBar()
.data(Weather)
.encode(
vl.x().fieldQ('wind').bin(true),
vl.y().aggregate('count'),
vl.color().fieldN('weather')
)
const timeLine = vl.markLine()
.data(Weather).encode(
vl.x().fieldT("date").timeUnit('month'),
vl.y().fieldQ("wind").aggregate('mean'),
vl.color().fieldN("weather"),
)
.width(700)
return (
vl.vconcat(vl.hconcat(minTemp, maxTemp, barChart), timeLine)
.config({ concat: { spacing: 0 } })
.render()
);
}