fix(line): correctly stack not-synced time series data. close #15742 #21071
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief Information
This pull request is in the type of:
What does this PR do?
Create correct stacked area chart when it contains time series, regardless of them being disjunct.
Fixed issues
Details
Before: What was the problem?
When stacking time series, echarts decided to use stacking by index.
This causes it to place data in places where it is not: Index 0 for one time series is not necessarily the same point in time as index 0 for another time series.
After: How does it behave after the fixing?
For time series, stacking is set to stacking by dimension and an inverted index is created, allowing stacking to use the time value instead of the index for stacking. It reuses the mechanism for ordinal stacking.
Document Info
One of the following should be checked.
Misc
ZRender Changes
Related test cases or examples to use the new APIs
I added a visual test
line-stack-disjunct-timeseries.html
.Please advise whether this should be put in an existing test or can be left stand alone.
All existing visual tests that pass for 6.0.0-beta.1 pass for this PR, however some seem to be flaky. With several runs the flaky ones also pass.
Others
Merging options
Other information
I have not tested the performance of this on a large dataset.