{
const colors = {
domain:['0', '1'],
range: ['#0a234a','#c0c0c0']
};
const max_speed = vl.markBar()
.data(df)
.encode(
vl.x().average('max_speed').axis({grid:false}).title('Max Speed (mph)'),
vl.y().fieldN('custom_design').title(null).axis({labelAngle: 0}),
vl.color().fieldN('custom_design').scale(colors).legend({title: 'Custom Design'})
)
const avg_speed = vl.markBar()
.data(df)
.encode(
vl.x().average('avg_speed').axis({grid:false}).title('Avg Speed (mph)'),
vl.y().fieldN('custom_design').title(null).axis({fontSize:20}).axis({labelAngle: 0}),
vl.color().fieldN('custom_design').scale(colors)
)
const ride_length = vl.markBar()
.data(df)
.encode(
vl.x().average('ride_length').axis({grid:false}).title('Ride Length (ft)'),
vl.y().fieldN('custom_design').title(null).axis({labelAngle: 0}),
vl.color().fieldN('custom_design').scale(colors)
)
const ride_time = vl.markBar()
.data(df)
.encode(
vl.x().average('ride_time').axis({grid:false}).title('Ride Time (sec)'),
vl.y().fieldN('custom_design').title(null).axis({labelAngle: 0}),
vl.color().fieldN('custom_design').scale(colors)
)
return vl.vconcat(max_speed, avg_speed, ride_length, ride_time)
.title({text: 'Custom Design Impact on Max Speed, Avg Speed, Ride Length, Ride Time',
fontSize:16, offset: 20})
.render()
}