Skip to content

Commit 5274278

Browse files
committed
fix: stepped dosn't respect align at the end
1 parent 17ce73d commit 5274278

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/paths/stepped.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,25 @@ export function stepped(opts) {
2323

2424
const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1);
2525

26-
idx0 = align === -1 ? idx0 : nonNullIdx(dataY, idx0, idx1, 1);
27-
idx1 = align === 1 ? idx1 : nonNullIdx(dataY, idx0, idx1, -1);
26+
let lftIdx = align === -1 ? idx0 : nonNullIdx(dataY, idx0, idx1, 1);
27+
let rgtIdx = align === 1 ? idx1 : nonNullIdx(dataY, idx0, idx1, -1);
2828

29-
let prevYPos = pixelForY(dataY[dir == 1 ? idx0 : idx1]);
30-
let firstXPos = pixelForX(dataX[dir == 1 ? idx0 : idx1]);
29+
let prevYPos = pixelForY(dataY[dir == 1 ? lftIdx : rgtIdx]);
30+
let firstXPos = pixelForX(dataX[dir == 1 ? lftIdx : rgtIdx]);
3131
let prevXPos = firstXPos;
3232

3333
lineTo(stroke, firstXPos, yDim + yOff)
3434
lineTo(stroke, firstXPos, prevYPos);
3535

36-
for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) {
36+
for (let i = dir == 1 ? lftIdx : rgtIdx; i >= lftIdx && i <= rgtIdx; i += dir) {
3737
let yVal1 = dataY[i];
3838

39-
if (yVal1 == null)
39+
let x1 = pixelForX(dataX[i]);
40+
41+
if (yVal1 == null && i < rgtIdx) {
4042
continue;
43+
}
4144

42-
let x1 = pixelForX(dataX[i]);
4345
let y1 = pixelForY(yVal1);
4446

4547
if (align == 1)

0 commit comments

Comments
 (0)