chart = {
const svg = d3.create('svg')
.attr('viewBox', [0, 0, 960, 600])
.style('background-color', '#314d7a');
svg.append('g')
.selectAll('.basemap')
.data(basemap)
.join('path')
.attr('class', 'basemap')
.attr('d', path)
.attr('fill', '#357a31')
.attr('stroke', 'white')
.attr('stroke-width', '0.2px')
.attr('stroke-linejoin', 'round');
svg.append('path')
.datum(graticule)
.attr('d', path)
.attr('stroke', 'white')
.attr('stroke-width', '0.3px')
.attr('stroke-opacity', 0.5);
for (const d of data) {
svg.append('circle')
.attr('transform', `translate(${d})`)
.attr('r', 3)
.attr('fill', '#242424')
.attr('fill-opacity', 0.8)
.attr('stroke-opacity', 0.2)
};
return svg.node();
}