You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jitter on a category axis implies the other axis is of type 'value'— Demo
This feature was not designed to function with two categorical axes, in my opinion. Perhaps more details about that should be included in the API documentation.
The jitterLayout stage only checked the base axis (getBaseAxis()) for jitter configuration. When both axes are category with jitter, only the base axis direction was jittered; the other axis's jitter was ignored.
Fix
jitterLayout.ts now also checks the other axis (coordSys.getOtherAxis()) — if it's ordinal and has jitter > 0, jitter is applied along that direction too. This makes scatter points spread in both x and y directions when both axes are category with jitter configured (like JMP scatter plots).
The fix is a pure frontend/TS change in src/chart/scatter/jitterLayout.ts, no API changes required.
Activity
helgasoft commentedon Aug 13, 2026
Jitter on a category axis implies the other axis is of type 'value'— Demo
This feature was not designed to function with two categorical axes, in my opinion. Perhaps more details about that should be included in the API documentation.
flybbjcs70 commentedon Aug 13, 2026
第一个图是JMP软件的x,y分类,color 值 散点图,我现在用symbolOffset可以实现,不过性能会差,主要是我想使用一维
TypedArray提高性能,数据量几万到几十万,还要能框选waterWang commentedon Aug 13, 2026
I've submitted PR #21729 to fix this.
Root cause
The jitterLayout stage only checked the base axis (
getBaseAxis()) for jitter configuration. When both axes are category with jitter, only the base axis direction was jittered; the other axis's jitter was ignored.Fix
jitterLayout.tsnow also checks the other axis (coordSys.getOtherAxis()) — if it's ordinal and hasjitter > 0, jitter is applied along that direction too. This makes scatter points spread in both x and y directions when both axes are category with jitter configured (like JMP scatter plots).The fix is a pure frontend/TS change in
src/chart/scatter/jitterLayout.ts, no API changes required.