Add scale: log option for GLQL bar charts
What does this MR do and why?
Summary
This change adds a new logarithmic scale option to the bar list chart component, alongside the existing "total" and "max" scale options.
When data spans a very wide range of values (e.g., one row has 900 sessions and another has just 3), the standard scales can make smaller bars nearly invisible. The new log scale compresses this spread by plotting values on a base-10 logarithmic axis, so all rows remain visually meaningful and comparable regardless of how dominant the largest value is.
Key behaviours of the new scale:
- Bars represent actual values rather than percentages of the track.
- The axis always starts at 1 (since logarithms have no zero) — rows with a value of zero are floored to 1 and draw no visible bar.
- The axis ceiling is automatically set to the next whole power of ten above the largest value, ensuring the longest bar never runs into the label column.
- Row labels continue to show the true value and share percentage, unchanged from other scales.
The change also wires up the new log option in the GLQL bar list presenter so it can be passed through from display configuration.
References
Screenshots or screen recordings
| scale: total | scale: log |
|---|---|
![]() |
![]() |
How to set up and validate locally
yarn storybook:start- Navigate to the new story: http://localhost:6006/?path=/story/analytics-analytics-dashboards-components-visualizations-bar-list-chart--log-scale
- Verify the behaviour
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #628929

