Version
Affected: 6.0.0 and 6.1.0 (latest). Regression — works in 5.x (tested 5.3.2 and 5.6.0). Introduced in 6.0.0 (the time-axis dataShadow positioning; first present in 6.0.0-beta.1).
Link to Minimal Reproduction
Here is the example
Steps to Reproduce
- xAxis: { type: 'time' }, dataZoom: [{ type: 'slider', showDataShadow: true }].
- Give the shadow-source series a SINGLE data point.
- The slider shadow is empty/missing.
Minimal option (the slider shadow vanishes on 6.x; renders on 5.x):
option = {
xAxis: { type: 'time' },
yAxis: { type: 'value' },
dataZoom: [{ type: 'slider', showDataShadow: true }],
series: [{ type: 'line', data: [['2025-07-01', 285]] }]
};
Real-world variant: with multiple series, the first eligible series is
chosen as the shadow source, so a single-point first series breaks the
shadow even when later series are dense.
Current Behavior
In SliderZoomView._renderDataShadow (6.x), the time-axis branch computes:
normalizationConstant = size[0] / (thisDataExtent[1] - thisDataExtent[0]);
thisCoord = isTimeAxis ? (value - thisDataExtent[0]) * normalizationConstant : thisCoord + step;
For a single-point series the x-extent has zero width, so
normalizationConstant = Infinity and thisCoord = 0 * Infinity = NaN. The
shadow polygon receives a NaN vertex and does not render.
Measured shadow polygon on 6.1.0: points [[size,0],[0,0],[NaN,15]] (hasNaN=true).
On 5.3.2/5.6.0 the same option yields finite, step-based points (hasNaN=false).
Note the adjacent step path WAS guarded against divide-by-zero
(Math.max(1, data.count() - 1)); the new time-axis division was not.
Expected Behavior
A single-point (zero-width-extent) shadow source should render the same way
it did in 5.x (no NaN), or fall back gracefully — not erase the shadow.
Fix: guard the time-axis normalization when (thisDataExtent[1] -
thisDataExtent[0]) === 0 (e.g. fall back to the step-based coordinate or
clamp to 0), mirroring the existing Math.max guard on step.
Happy to PR this.
Environment
- OS: macOS 15
- Browser: Chrome 126
- Framework: Angular
Any additional comments?
This is distinct from the timeline component — the issue is specifically
in the dataZoom-slider shadow source-series selection.
The slider's data shadow is empty on 6.x. Switch the CDN to echarts/5.6.0 and the shadow appears — same option.
Version
Affected: 6.0.0 and 6.1.0 (latest). Regression — works in 5.x (tested 5.3.2 and 5.6.0). Introduced in 6.0.0 (the time-axis dataShadow positioning; first present in 6.0.0-beta.1).
Link to Minimal Reproduction
Here is the example
Steps to Reproduce
Minimal option (the slider shadow vanishes on 6.x; renders on 5.x):
option = {
xAxis: { type: 'time' },
yAxis: { type: 'value' },
dataZoom: [{ type: 'slider', showDataShadow: true }],
series: [{ type: 'line', data: [['2025-07-01', 285]] }]
};
Real-world variant: with multiple series, the first eligible series is
chosen as the shadow source, so a single-point first series breaks the
shadow even when later series are dense.
Current Behavior
In
SliderZoomView._renderDataShadow(6.x), the time-axis branch computes:For a single-point series the x-extent has zero width, so
normalizationConstant = Infinity and thisCoord = 0 * Infinity = NaN. The
shadow polygon receives a NaN vertex and does not render.
Measured shadow polygon on 6.1.0: points [[size,0],[0,0],[NaN,15]] (hasNaN=true).
On 5.3.2/5.6.0 the same option yields finite, step-based points (hasNaN=false).
Note the adjacent step path WAS guarded against divide-by-zero
(
Math.max(1, data.count() - 1)); the new time-axis division was not.Expected Behavior
A single-point (zero-width-extent) shadow source should render the same way
it did in 5.x (no NaN), or fall back gracefully — not erase the shadow.
Fix: guard the time-axis normalization when (thisDataExtent[1] -
thisDataExtent[0]) === 0 (e.g. fall back to the step-based coordinate or
clamp to 0), mirroring the existing Math.max guard on
step.Happy to PR this.
Environment
Any additional comments?
This is distinct from the
timelinecomponent — the issue is specificallyin the
dataZoom-slidershadow source-series selection.The slider's data shadow is empty on 6.x. Switch the CDN to echarts/5.6.0 and the shadow appears — same option.