Skip to content

Commit eec6f72

Browse files
committed
fix(scale): correct bar height when zoomed with dataZoom filterMode is none
Fixes #19666
1 parent 18f0316 commit eec6f72

3 files changed

Lines changed: 377 additions & 1 deletion

File tree

src/scale/helper.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@ export function contain(val: number, extent: [number, number]): boolean {
128128

129129
export function normalize(val: number, extent: [number, number]): number {
130130
if (extent[1] === extent[0]) {
131-
return 0.5;
131+
// When extent collapses to a single point, only values equal to that point
132+
// should be normalized to 0.5. All other values should return NaN to indicate
133+
// they are out of range and should not be rendered.
134+
return isNaN(val) || val !== extent[0] ? NaN : 0.5;
132135
}
133136
return (val - extent[0]) / (extent[1] - extent[0]);
134137
}

test/bar-datazoom-filtermode-none.html

Lines changed: 148 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/line-scale-datazoom-fix.html

Lines changed: 225 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)