Fix tick marks for large Y scale ranges
authorKlaus Weidner <klausw@google.com>
Tue, 18 Dec 2012 01:50:22 +0000 (17:50 -0800)
committerKlaus Weidner <klausw@google.com>
Tue, 18 Dec 2012 01:50:22 +0000 (17:50 -0800)
commitfa0d7ad80802e2b31d9889936eb6ffd55dab1f43
tree207a43ea55e77872e2dd5ed9362342a3bcfd980f
parent7249a5aa13b2861eb6e79ca39059233fc6ed701d
Fix tick marks for large Y scale ranges

The tick placement logic used a double loop to look for appropriate tick spacing, assuming that a base unit around 10^50 would be sufficient to cover any Y range. Unfortunately this places 10^100 tick marks for Y values around 10^150, leading to excessive resource usage on typical client hardware.

This patch replaces the double loop with a single loop, finding the starting point by explicit calculation.

It also adds a regression test to catch the defective behavior.
auto_tests/tests/range_tests.js
dygraph-tickers.js