{
const areaChart = vl.markArea({clip: true, fill: "#C01927"})
.data(gunDeathsInFlorida)
.encode(
vl.x().fieldT('Year')
.scale({domain: [1990, 2011]})
.timeUnit('year').title("Year"),
vl.y().fieldQ('Total by Firearm')
.scale({domain: [0, 1000], reverse: true})
.title("Deaths by Firearm")
);
const labelTitle = vl.markText({
dy: -80, dx: -20, fontSize:20, fontWeight: 'bold',
color:'white', align:'left'
})
.data([gunDeathsInFlorida[34]])
.encode(
vl.x().datum(2005)
.scale({domain: [1990, 2011]})
.axis({labels:false, ticks:false, grid:false}),
vl.y().datum(521),
vl.text().value("2005"),
);
const labelText = vl.markText({
dy: -60, dx: -20, fontSize:14,
color:'white', align:'left', lineBreak: '\n'
})
.data([gunDeathsInFlorida[33]])
.encode(
vl.x().datum(2005)
.scale({domain: [1990, 2011]})
.axis({labels:false, ticks:false, grid:false}),
vl.y().datum(521),
vl.text().value("Florida enacted\n its 'Stand Your\n Ground' law")
);
const markRule = vl.markRule({color:'white'})
.data([gunDeathsInFlorida[33]])
.encode(
vl.x().datum(2005)
.scale({domain: [1990, 2011]})
.axis({labels:false, ticks:false, grid:false}),
vl.y().datum(515),
vl.x2().datum(2005),
vl.y2().datum(465)
);
return vl.layer(areaChart, labelTitle, labelText, markRule)
.title("Gun Deaths in Florida by Firearm (1990-2011)")
.render();
}