Implement Grouped/Merged Y-Axes Feature (Issue #916)#917
Conversation
ngmikeng
commented
May 2, 2026
- Implemented the Grouped/Merged Y-Axes feature based on the requirements outlined in issue Grouped / Merged Y-Axes with Multi-Scale Ticks #916
- Added unit tests to cover the new functionality
- Included a demo (see screenshot below)
- Implemented merged Y-axis functionality allowing multiple series with different value ranges to share a single axis line. - Introduced new methods in Styler for merging Y-axis groups and determining visual group IDs. - Enhanced Axis and AxisPair classes to manage master/slave relationships for merged axes. - Added synchronization for tick locations and labels between master and slave axes. - Created MergedYAxisDemo to demonstrate the new feature. - Added unit tests for merged Y-axes functionality to ensure correctness and backward compatibility. Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
|
Here's the full analysis of PR #917: PR #917 — Implement Grouped/Merged Y-Axes What it does Issues Found Named MergedYAxisDemo.java → must be TestForIssue916.java (implements issue #916) Raw types in AxisTickLabels.java. 🟡 Minor BitmapEncoder.java change appears to be formatting-only (no functional bug fix), yet it's bundled into this PR. No multi-chart regression test. The PR only tests XYChart. Since AxisPair.java / Styler.java / PlotSurface_AxesChart.java are touched (all high-risk ripple zones), CategoryChart and BubbleChart should also be smoke-tested. |
- Merged-axis fields/methods moved from Styler.java → AxesChartStyler.java - MergedYAxisDemo.java deleted; `TestForIssue916.java` created - Left-side colocate symmetry confirmed (already present) - Raw types in AxisTickLabels.java and Axis.java eliminated - `Collections.sort` fully qualified in AxisPair.java → import added - CategoryChart + BubbleChart smoke tests added to MergedYAxisTest.java