apache / apache/echarts

[Bug] Line chart tiny segments skipped, becoming a slope

Open
#21,614 3 comments 1 reaction 0 assignees View on GitHub
bug en pending
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.