[Bug] Line chart tiny segments skipped, becoming a slope
- Dominant language
- TypeScript
- Stars
- 67.3k
- Forks
- 19.8k
- Avg merge
- 11d 14h
- Merged PRs (30d)
- 8
Description
### Version
5.6.0
### Link to Minimal Reproduction
https://codesandbox.io/p/sandbox/pdh82y?file=%2Findex.js
### Steps to Reproduce
1) change the time on datapoint1 from 08:59:30 to 08:55:30
2) change the time on datapoint1 back
3) repeat
### Current Behavior
When we have the following data:
- datapoint1=[08:59:30, 1]
- datapoint2=[09:00:00, 1]
- datapoint3=[09:00:00, 0]
With the following line chart setting:
- type:'line'
- step:'end'
The line chart ignores datapoint2 and draws a line from datapoint1 to datapoint3 which becomes a slope.
### Expected Behavior
The line chart should draw the line vertically (not as a slope) from datapoint2 to datapoint3 to represent what the data is actually doing.
### Environment
```markdown
- OS: Windows 11
- Browser: Microsoft Edge Version 148.0.3967.54 (Official build) (64-bit)
- Framework:
```
### Any additional comments?
The line of code that appears to be causing this behaviour is "/src/chart/line/poly.ts" at line 83. (The section for "Ignore Tiny Segment.")
```
// Ignore tiny segment.
if ((dx * dx + dy * dy) < 0.5) {
idx += dir;
continue;
}
```
Contributor guide
Assessment
This issue has not been assessed yet.