Как правильно работать с диапазоном в d3.js? [почему не строится полный график?]

Всем привет. Подскажите, пожалуйста, как правильно работать с диапазоном в данном случае? У меня приходят данные в таком формате. Сейчас в примере видно, как выглядит кривая. Как основываясь на текущие данные, применю слово масштабировать, кривую, чтобы она более информативно и похоже на график выглядела?

Данные повреждены. В некоторых объектах нет свойства value. Добавил такую фильтрацию и график выглядит как надо.

chartPoints = chartPoints.filter((chp) => {
  return chp.date && chp.value
})


chartPoints.forEach((d) => {
    d.date = new Date(d.date)
    d.value = Number(d.value)
})

Если копать глубже, то вывод из ситуации - нужно аккуратнее преобразовывать значения из свойств объекта в числа. Например падать с ошибкой если данные невалидные

d.value = Number(d.value)

иногда этот код выполняется со значением undefined и Number(undefined) возвращает NaN. Это значение имеет тип number как и любое другое число, но числом не является. d3 со своей стороны стоило бы кидать ошибку когда ее просят отрендерить значение NaN, или хотя бы ворнинг.

Спасибо за помощь.