Я использую библиотеку D3 версии 5.7.0. Пожалуйста, помогите мне сделать простую линейную интерполяцию между точками.
Моя попытка здесь: JSFIDDLE
Как видите, линия интерполяции в моем примере имеет другую толщину. Это проблема. Мне нужно нарисовать линию интерполяции постоянной толщины. Например: https://bl.ocks.org/gordlea/raw/27370d1eea8464b04538e6d8ced39e89/
Код:
var line = d3.line()
.x((d, i) => { return xScale(d.dateUnix); })
.y((d) => { return yScale(d.price); })
.curve(d3.curveBasis);
svg.append("path")
.datum(data)
.attr("d", line);
svg.selectAll('rect')
.data(data)
.enter()
.append('rect')
.attr('x', d => xScale(d.dateUnix))
.attr('y', d => yScale(d.price))
.attr('width', d => 4)
.attr('height', d => 4)
.attr('fill', '#000');



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


По умолчанию контуры SVG не имеют обводки и черной заливки. Вы должны отключить заливку и установить для обводки определенный цвет и ширину.
Вы можете сделать это либо из Javascript, либо из CSS.
Для CSS просто добавьте в свою таблицу стилей следующее:
path
{
fill:none;
stroke: black; /* or whatever color you like */
stroke-width: 4px; /* or any width you like */
}
Из JS измените свой код на:
svg.append("path")
.datum(data)
.attr("d", line)
.attr("fill","none")
.attr("stroke","black") // or any color you like
.attr("stroke-width","5px"); // or any width you like