{
const svg = d3.create('svg').attr('viewBox', [0, 0, width, 200]);
svg
.append('defs')
.append('marker')
.attr('id', 'arrow')
.attr('viewBox', [0, 0, markerBoxWidth, markerBoxHeight])
.attr('refX', refX)
.attr('refY', refY)
.attr('markerWidth', markerBoxWidth)
.attr('markerHeight', markerBoxHeight)
.attr('orient', 'auto-start-reverse')
.append('path')
.attr('d', d3.line()(arrowPoints))
.attr('stroke', 'black');
svg
.append('path')
.attr('d', d3.line()([[100, 60], [40, 90], [200, 80], [300, 150]]))
.attr('stroke', 'black')
.attr('marker-start', 'url(#arrow)')
.attr('marker-end', 'url(#arrow)')
.attr('fill', 'none');
return svg.node();
}