Вы можете выбрать диапазон от 0
до height
...
scale.range([0, height])
... или от height
до 0
...
scale.range([height, 0])
... но это не меняет того факта, что в SVG система координат оси y
идет сверху вниз. Поэтому атрибут y
должен быть всегда меньше , чем height
для прямоугольника.
При этом вы должны использовать finish
для атрибута y
:
.attr("y", function (d, i) {
return y(d.finish);
})
.attr("height", function(d,i){
return y(d.start) - y(d.finish);
});
Вот обновленный код: https://stackblitz.com/edit/d3-start-above-zero-qnk7bl?file=index.js