From ca16a9520bd9c76a4d64140fff4f77fa8f59abec Mon Sep 17 00:00:00 2001 From: "Leubeling, David" Date: Wed, 8 Jun 2022 14:12:06 +0200 Subject: [PATCH] fix: stepped dosn't respect align at the end --- src/paths/stepped.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/paths/stepped.js b/src/paths/stepped.js index fab791ed..bf3f1903 100644 --- a/src/paths/stepped.js +++ b/src/paths/stepped.js @@ -23,20 +23,20 @@ export function stepped(opts) { const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); - idx0 = align === -1 ? idx0 : nonNullIdx(dataY, idx0, idx1, 1); - idx1 = align === 1 ? idx1 : nonNullIdx(dataY, idx0, idx1, -1); + let lftIdx = align === -1 ? idx0 : nonNullIdx(dataY, idx0, idx1, 1); + let rgtIdx = align === 1 ? idx1 : nonNullIdx(dataY, idx0, idx1, -1); - let prevYPos = pixelForY(dataY[dir == 1 ? idx0 : idx1]); - let firstXPos = pixelForX(dataX[dir == 1 ? idx0 : idx1]); + let prevYPos = pixelForY(dataY[dir == 1 ? lftIdx : rgtIdx]); + let firstXPos = pixelForX(dataX[dir == 1 ? lftIdx : rgtIdx]); let prevXPos = firstXPos; lineTo(stroke, firstXPos, yDim + yOff) lineTo(stroke, firstXPos, prevYPos); - for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) { + for (let i = dir == 1 ? lftIdx : rgtIdx; i >= lftIdx && i <= rgtIdx; i += dir) { let yVal1 = dataY[i]; - if (yVal1 == null) + if (yVal1 == null && i < rgtIdx) continue; let x1 = pixelForX(dataX[i]);