mapchoro = vl.markGeoshape({stroke: '#888', strokeWidth: 0.25})
.data(vl.topojson(bairros).feature('POLIGONAIS'))
.transform(
vl.lookup('properties.Name').
from(
vl.data(
homicides.map(d => ({
...d,
Taxa: d['População'] > 0 ? +((d['Número de Homicidios'] / d['População']) * 100000).toFixed(1): 0
})) )
.key('Bairro')
.fields('Bairro', 'Número de Homicidios', 'População', 'Taxa'))
)
.encode(
vl.color()
.fieldQ('Taxa')
.scale({domain: [0, 350], type: 'quantize', clamp: true, scheme: {name: 'blues', count: 7}}),
vl.tooltip(
[
'Bairro',
{ field: 'Taxa', type: 'quantitative', format: '.1f', title: 'Taxa por 100 mil habitantes' }
])
)
.project(vl.projection('mercator'))
.width(850)
.height(500)
.render()