Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve readability of the daily burnt BSQ chart
Relevant issue thread: #3753 Currently the daily burnt BSQ chart under 'DAO -> Facts and Figures' is distorted by outliers. This introduces a 'Zoom to inliers' toggle (off by default), which, when toggled on, effectively zooms the chart to inliers, thus removing the distortion. Also, a moving average is plotted, to further improve the chart's readibility. The chart is also changed from an area chart to a line chart, on the presumption that it was an area chart for cosmetic reasons, but now that there are two series in it (the moving average was added) an area chart makes less sense. Another noteworthy change is that the other chart in the screen, monthly issued BSQ, has its Y axis set to start at zero, so as to improve readability. This might seem outside the scope of this commit, but the other changes involved some refactoring, which involved cleaning up some duplicated logic, which involved configuring both of these charts together, which involved forcing zero to be on the axis. This implementation mixes some plotting logic (responsible for zooming in on inliers) into the view logic, because I opted to implement said zooming as an external manipulation of a chart's axis. I chose this in favor of implementing a new Chart, because it would have required including multiple large classes (relevant JavaFX's classes can't be ergonomically extended) to the code base. I presumed that my chosen solution will be easier to maintain. I am not entirely happy with this choice and can see myself introducing some plotting-related classes to encapsulate creating charts like these, thus unmixing plotting logic from view logic. In the meantime this is a working solution, and I plan to continue working on these charts in the near future.
- Loading branch information