{
let SEQ = [];
for (let seq of dataModifiedSequences) {
let newRow = {team: seq.pos_team, yards_gained: 0};
for (let ev of seq.events) {
newRow.yards_gained += (ev.hasOwnProperty('yards_gained')) ? ev.yards_gained : 0;
}
SEQ.push(newRow);
}
const min_max = vl.markRule()
.data(SEQ)
.encode(
vl.x().fieldN('team'),
vl.y().min('yards_gained').title(''),
vl.y2().max('yards_gained').title('')
);
const q1_q3 = vl.markBar({width: 20})
.data(SEQ)
.encode(
vl.x().fieldN('team'),
vl.y().q1('yards_gained').title(''),
vl.y2().q3('yards_gained').title('')
);
const average = vl.markCircle({color: 'yellow'})
.data(SEQ)
.encode(
vl.x().fieldN('team'),
vl.y().average('yards_gained').title('yards_gained')
);
return vl.layer(min_max, q1_q3, average).width(width-100).render();
}