vl.layer(
vl.markBar({color:'black'}),
vl.markText({color:'white',dx: -15, dy: 10, align:'left',size:'10'})
.encode(
vl.text().average('sleepHour').format('.0f')
),
vl.markLine({color:'red'}).encode(vl.y().aggregate({average:['value']}))
)
.encode(
vl.x().fieldO('endDate').timeUnit('day').title('Date').scale({domain:['Mon','Tue','Wed','Thu','Fri','Sat','Sun']}),
vl.y().average('sleepHour').title('Sleep time(hour)')
)
.data(slp)
.title('Average sleep time per weekday')
.width(800)
.height(150)
.render()