apache / apache/echarts

[Bug] dataShadow should consider axis.min/axis.max when drawing

Open
#19,957 4 comments 2 reactions 0 assignees View on GitHub
bug en pending
Dominant language
TypeScript
Stars
67.3k
Forks
19.8k
Avg merge
15h 17m
Merged PRs (30d)
5

Description

### Version

5.5.0

### Link to Minimal Reproduction

https://echarts.apache.org/examples/en/editor.html?code=PYBwLglsB2AEC8sDeAoWsAeBBDEDOAXMmurGAJ4gCmRA5JALZW0A0J6DE0RAjAOw8ADIIBMAZhHCpbUrAYBDDLwEBWABx8AbHynCSAXxmxyOfEVSzO3WAFoeRjot4GjAE3lh5ALWDAGRAG12Yll0Cmo6PAAbCFcqACdWYPR4-WgAcyoAWWA4ump4gGMqaDBaYP0SAF0jPASIKkJYINkLUOh5JjoAEQ95WABlAAt5V2AAd1gE-OB42HdPJND5vsDk0gD-HhEeABYJXUEWWEEAOj4VGvX0TYFxAE4D3WOzy4dQ2-3Nfclnk9ORG9rs0tiI1I9ftITldljctmI9k8oTYzoCYbDPmIxBDDscUacgbCQQIxJosZDhHizhcqut0bJwjRYLQYtBmBVqih9ABuIA

### Steps to Reproduce

1. Go to minimal reproduction link or create chart with following options:
```option = {
xAxis: {
type: 'time',
min: 1710023200000,
max: 1715876700000
},
yAxis: {
min: -1,
max: 1
},
dataZoom: [
{
type: 'slider',
rangeMode: 'percent'
}
],
series: [
{
name: 'Data Shadow error data',
data: [
[1712143200000, 0.75],
[1712393200000, 0.5],
[1712643200000, 0.25],
[1712893200000, 0],
[1713143200000, -0.25],
[1713393200000, -0.5],
[1713633200000, -0.75]
],
type: 'line'
}
]
};
```
2. Run chart

### Current Behavior

Data shadow at the bottom does not match data distribution on chart.
It seems not to respect min and max values on axis.
![Zaznaczenie_999(147)](https://github.com/apache/echarts/assets/170080489/1ce5c826-d338-491f-a04b-5c82ea8c4451)

### Expected Behavior

Data shadow should consider axis.min/axis.max when drawing.
Data shadow for given chart should look like that:
![Zaznaczenie_999(148)](https://github.com/apache/echarts/assets/170080489/f052ae1e-16f4-4027-b7f3-26ac0baeba84)

### Environment

```markdown
- OS: any
- Browser: any
- Framework: any
```

### Any additional comments?

Possible workaround is to add artifical data to series with axis.min and axis.max and NaN/undefined as a value
For given example data series would be:
```
...
data: [
[1710023200000, NaN],
[1712143200000, 0.75],
[1712393200000, 0.5],
[1712643200000, 0.25],
[1712893200000, 0],
[1713143200000, -0.25],
[1713393200000, -0.5],
[1713633200000, -0.75],
[1715876700000, NaN],
]
...
```

But this workaround will only work after merge of: https://github.com/apache/echarts/pull/16978

Contributor guide

Open the contributing guide

Research direction

Start by running the linked minimal reproduction with the specified time and value-axis bounds, then trace the dataShadow drawing path and its use of axis.min and axis.max. Compare the shadow with the chart's data distribution and the expected screenshot. Done means the shadow respects the configured axis bounds without requiring artificial endpoint data.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.