The current Price Scale displays price levels at evenly distributed intervals, but the generated values are often non-round numbers.
For example:
Current:
101.37
100.92
100.47
100.02
99.57
99.12Although the spacing between each price level is consistent, the values are difficult to scan, remember, and interpret quickly.
For a trading chart, users typically benefit from human-friendly price levels that align with recognizable numbers.
Expected UX
The Price Scale should dynamically adjust its tick interval based on the current zoom level and visible price range, while prioritizing round and meaningful price values.
For example:
Expected:
102.00
101.50
101.00
100.50
100.00
99.50
99.00When zooming in, the interval should automatically become more granular:
Zoomed out:
100
90
80
70
60
↓ Zoom in
10.0
9.5
9.0
8.5
8.0
↓ Zoom in further
1.00
0.90
0.80
0.70
0.60
The goal is not simply to maintain equal visual spacing between labels, but to ensure that the displayed price values are easy to read, recognize, and mentally calculate.
