Conversation
…o much unexpected space when `alignTicks` is enabled
|
Thanks for your contribution! The pull request is marked to be |
|
The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-21430@eb45d17 |
|
@plainheart 请问这个mr后续会回合到 5.x 版本吗 |
…ore case for dataZoom edge cases.
…ils and solutions.
… Make the rounding result consistent between dataZoom calculated window and specified axis `determinedMin/Max`. (3) Fix unexpected behaviors when dataZoom controls axes with `alignTicks: true` - previous they are not precisely aligned and the ticks jump significantly due to inappropriate rounding when dataZoom dragging.
|
@nuteu 除非有安全性问题,通常不会再更新旧版本。若有需求,可以考虑使用 patch-package 工具制作一个补丁。 |
…s data may be out of the calculated extent and can not be displayed. (2) Previously the precision is incorrect for small float number (fixed at 10 rather than based on the magnitude of the value). (3) Make the tick precision more acceptable when min/max of axis is fixed, and remove console warning, because whey can be specified when dataZoom dragging. (4) Clarify the related code for LogScale.
…ayout. (3) Remove unreasonable clamp in Interval calcNiceExtent, and clarify the definition of `_niceExtent`.
|
Additional modifications: Comprehensively fixed bad cases of "alignTicks" and "precision"Series data disappear in some cases
Rounding error occur on min/max/ticks
Better auto precisionIncorrect ticks for small series dataLay out series data to the center of YBad cases when alignTo axis min or max is setReasonable effect when dataZoom controls all yAxis
Radar bad caseFix incorrect align ticks in some cases
Fix dataZoom
Fix toolbox theme and updatePreviously, toolbox settings in theme can cause it always show, since toolbox will display if Fix progressive renderingSee test cases: This fix is mainly implemented in ecomfe/zrender#1151 Fix overflow on axis and Cartesian and enable bandWidthPreviously,
Now, this issue is systematically resolved.
category Axis with dataZoom clip: bandWidth incorrect: Auto onZero changeIntroduced Enable LogScale (axis.type: 'log') to automatically filter out non-positive valuesEnhance pie laying out on CartesianPreviously, if pie was laid out on a Cartesian, its axis extent did not union pie position. Users needed to manually add some hidden series to expand the axis extent. Now auto-union pie center to axis extent is supported. See also test case Fix hoverLayer rendering artifact bugFix https://github.com/apache/echarts/issue/21233 Fix geo roaming visual artifactThis is caused by failing to synchronize roaming variables (center, zoom and corresponding affine matrix) while animation is applied on coord sys view (such as map). Support scatter/effectScatter clipping on geo coord sysRefactorCorresponding refactors are performed to the changes above, mainly including:
Some related test cases
Some related issues
|
…cNiceTicks` and `calcNiceExtent` from Scale class override member functions to plain functions, similar to `axisAlignTicks`. Previously it's hard to modify and error-prone. (2) Remove unnecessary override on Scale class hierarchy and limit override usage, which is difficult to understand and error-prone. (3) Simplify the inheritance - shift `LogScale` and `TimeScale` inheritance from `IntervalScale` to `Scale`. (4) Clarify the impl of `IntervalScale` - uniform the parameters setting entry for both "nice ticks" and "align ticks".
…om Scale; unify union entry and scaleRawExtentInfo creator and cache to avoid error-prone impl; simplify the impl of coord sys call extent uinon. (2) Fix LogScale precision bug introduced by previous commits.
…sitive data on LogScale - exclude non-positive series data items when calculate dataExtent on LogScale. (2) Include `Infinite` into `connectNulls` handling on line series; the `Infinite` value may be generated by `log(0)` and previously the corresponding effect in unpredictable on line series (sometimes display as connected but sometimes not).
…xes extent can not union pie center automatically. Commit 18a23a8 has supported it. This commit updates test cases.
… 'dragging'). (2) Fix dataZoom bug that data info disappear when drag release on the area that data info display should be triggered.
(1) Uniform series data union logic; previous they are implemented in several inconsistent ways and error-prone. And also strict the extent calculation with uniformed utilities. (2) Refactor Scale - uniform the implementation of the numeric transformations (such as axis breaks, logarithm, ordinal related handling) with a decorator pattern and decouple them from Scale class hierarchy. This brings consistent handling for details and enables further extension. (3) Refactor Scale - decouple "axis nice" logic from Scale and make the "axis nice" and "axis align" implemented in the same code style. This removes override (hard to read and maintain), and uniforms the parameters of IntervalScale (previous its parameters can be generated by itself or outside, which is confusing), and reduce scale-type-specified handling (e.g., if (isLogScale) ...) in calculation. (4) Enable "value" axis and "log" axis to render "bar" and "pictorialBar" series without overflowing the axis. Previously only "time" axis enables that on only "bar" series. Introduce "SCALE_EXTENT_KIND_MAPPING" to cover this generalized behavior and use strict "clip" for bar series without extra margin (a previous compromise). And clarify `barGrid` code accordingly, which removes duplicated time-consuming calculation in "bandWidth" calculation. Close #19972. Close #17858. Close #12720. Close #13321. Close #20718. Close #20421. Close #20503.
# Conflicts: # src/chart/bar/BarView.ts # src/chart/treemap/treemapLayout.ts
…nable and error-prone for small float number.
…on changed. (2) Fix onZero on double value axis and dataZoom is applied on a base axis - onZero should be disabled by default.
…p: false - use the newly added containShape handler. (2) Fix regression: Drop the previous containShape strategy on bar series, use a simple strategy for better compatibility. (3) Fix regression: Fix new added bar clip feature on single data item case. (4) Fix regression: Clarify code.
…ible. (2) Default IntervalScale extent on single data item case show not be broken. (3) LogScale filter non-positive value.
…. (2) Fix regression - containShape should be word properly in single value case. And simply the code.
…d compatibility. (2) Add guard to progressive block.
…gle item and empty.
… handler to remove unnecessary throw and catch - better for debug; (2) sunburst did not use dataFilter in correct way and it did not work, therefore remove it.
…`npm prepare` is executed when npm install locally or from git, and build/build.js imports a newer version of rollup-terser, which requires newer versions of Node.js (>19). That constraints should not be imposed to users, otherwise some existing pipeline may be broken.
…oord sys and its content (e.g., scatter) should visually align during roaming animation and manual roam. (2) Refactor to uniform roaming impl (via RoamController and ViewCoordSys) and clarify `updateTransform` and related code. (3) Enable scatter and effectScatter clip in geo. (4) Fix aria: palette is modified to ec instance local rather than global, which is more reasonable. (5) Fix map series roaming bug: roam and then click legend hide the first series and then roam and then click legend to restore the first series, the map should not jump.
…cessary for code size.
…ts visual test as supplementary test cases.
|
Congratulations! Your PR has been merged. Thanks for your contribution! 👍 |














Brief Information
This pull request is in the type of:
What does this PR do?
This PR is to fix the following issues when
alignTicksis enabled:Fixed issues
Comparison
Document Info
One of the following should be checked.
Misc
Security Checking
ZRender Changes
Related test cases or examples to use the new APIs
See the 6th/7th/8th test cases in
test/axis-align-ticks.htmlMerging options
Other information