Merge branch 'master' of github.com:danvk/dygraphs
[dygraphs.git] / tests / labelsKMB.html
index 8fe6c6b..d92a833 100644 (file)
     <p>labelsKMB:</p>
     <div id="labelsKMB" style="width:600px; height: 300px;"></div>
 
-    <p>labelsKMG:</p>
+    <p>labelsKMG2:</p>
     <div id="labelsKMG2" style="width:600px; height: 300px;"></div>
 
+    <p>labelsKMG2 with yValueFormatter:</p>
+    <div id="labelsKMG2yValueFormatter" style="width:600px; height: 300px;"></div>
+
     <p>The curves are exponentials. Zooming in should reveal each of the 'K',
     'M', 'B', etc. labels.</p>
 
     <script type="text/javascript">
+      function round(num, places) {
+        var shift = Math.pow(10, places);
+        return Math.round(num * shift)/shift;
+      };
+
       var data = [];
       for (var i = 0, n = 1; i < 43; i++, n *= 2) {
         data.push([i, n]);
       }
 
+      var suffixes = ['', 'k', 'M', 'G', 'T'];
+      function formatValue(v) {
+        if (v < 1000) return v;
+
+        var magnitude = Math.floor(String(Math.floor(v)).length / 3);
+        if (magnitude > suffixes.length - 1)
+          magnitude = suffixes.length - 1;
+        return String(round(v / Math.pow(10, magnitude * 3), 2)) +
+          suffixes[magnitude];
+      }
+
       new Dygraph(document.getElementById("labelsKMB"), data, { labelsKMB: true });
       new Dygraph(document.getElementById("labelsKMG2"), data, { labelsKMG2: true });
+      var g = new Dygraph(document.getElementById("labelsKMG2yValueFormatter"), data,
+                          { labelsKMG2: true, yValueFormatter: formatValue });
     </script>
   </body>
 </html>