Commit | Line | Data |
---|---|---|
17d0210c DV |
1 | <!DOCTYPE html> |
2 | <html> | |
3 | <head> | |
4 | <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9"> | |
5 | <title>dygraphs number display</title> | |
6 | <!--[if IE]> | |
7 | <script type="text/javascript" src="../excanvas.js"></script> | |
8 | <![endif]--> | |
9 | <script type="text/javascript" src="../strftime/strftime-min.js"></script> | |
10 | <script type="text/javascript" src="../rgbcolor/rgbcolor.js"></script> | |
11 | <script type="text/javascript" src="../dygraph-canvas.js"></script> | |
12 | <script type="text/javascript" src="../dygraph.js"></script> | |
13 | <style type="text/css"> | |
14 | .thinborder { | |
15 | border: 1px solid black; | |
16 | border-spacing: 0px; | |
17 | border-collapse: collapse; | |
18 | } | |
19 | .thinborder td, | |
20 | .thinborder th { | |
21 | border: 1px solid black; | |
22 | padding: 5px; | |
23 | } | |
24 | </style> | |
25 | </head> | |
26 | <body> | |
27 | <h2>dygraphs number display</h2> | |
28 | <p>Dygraphs can display numbers in either scientific mode (fixed number of significant figures) or fixed-point mode (fixed number of digits after the decimal point). It is in fixed-point mode by default.</p> | |
29 | <p>To switch to scientific mode, set the <i>sigFigs</i> option to the number of significant figures in your data.</p> | |
30 | <p>In fixed-point mode, you can control the number of digits after the decimal using the <i>digitsAfterDecimal</i> option. For particularly large numbers, this format can get unwieldy (i.e. '100000000' for 100M is a bit lengthy). Once the numbers get to a certain length, dygraphs will switch over to scientific notation. This is controlled by the <i>maxNumberWidth</i> option.</p> | |
31 | ||
32 | <div id='blah'></div> | |
33 | ||
34 | <script type="text/javascript"> | |
35 | var nums = [ | |
36 | -1.234e10, | |
37 | -1e10, | |
38 | -1.23e4, | |
39 | -123.456789, | |
40 | -123, | |
41 | -1, | |
42 | -0.123456, | |
43 | -0.1, | |
44 | -0.001234567, | |
45 | -0.001, | |
46 | -0.0000000001, | |
47 | 0, | |
48 | 0.0000000001, | |
49 | 0.001, | |
50 | 0.001234567, | |
51 | 0.1, | |
52 | 0.123456, | |
53 | 1, | |
54 | 3, | |
55 | 3.14, | |
56 | 3.14159, | |
57 | 3.14159265, | |
58 | 3.14159265358, | |
59 | 123, | |
60 | 123.456789, | |
61 | 1.23e4, | |
62 | 1e5, | |
63 | 1e6, | |
64 | 1e7, | |
65 | 1e8, | |
66 | 1e9, | |
67 | 1e10, | |
68 | 1.234e10 | |
69 | ]; | |
70 | ||
71 | var scientific = [ 1, 2, 3, 4, 5, 6 ]; | |
72 | var fixed = [ [2, 6], [3, 6], [5, 6], [1, 10], [2, 10], [5, 10] ]; | |
73 | ||
74 | // Helper functions for generating an HTML table for holding the test | |
75 | // results. | |
76 | createRow = function(columnType, columns) { | |
77 | var row = document.createElement('tr'); | |
78 | for (var i = 0; i < columns.length; i ++) { | |
79 | var th = document.createElement(columnType); | |
80 | var text = document.createTextNode(columns[i]); | |
81 | th.appendChild(text); | |
82 | row.appendChild(th); | |
83 | }; | |
84 | return row; | |
85 | }; | |
86 | ||
87 | var html = '<table class=thinborder>'; | |
88 | html += '<tr><th> </th><th colspan=' + scientific.length + '>Scientific (sigFigs)</th><th colspan=' + fixed.length + '>Fixed (digitsAfterDecimal, maxNumberWidth)</th></tr>\n'; | |
89 | html += '<tr><th>Number</th>'; | |
90 | for (var i = 0; i < scientific.length; i++) { | |
91 | html += '<th>' + scientific[i] + '</th>'; | |
92 | } | |
93 | for (var i = 0; i < fixed.length; i++) { | |
94 | html += '<th>' + fixed[i] + '</th>'; | |
95 | } | |
96 | html += '</tr>\n'; | |
97 | ||
98 | var attr = {}; | |
99 | var g_mock = { | |
100 | attr_: function(x) { | |
101 | return attr[x]; | |
102 | } | |
103 | }; | |
104 | for (var j = 0; j < nums.length; j++) { | |
105 | var x = nums[j]; | |
106 | html += '<tr>'; | |
107 | html += '<td>' + x + '</td>'; | |
108 | for (var i = 0; i < scientific.length; i++) { | |
109 | attr = { sigFigs: scientific[i] }; | |
110 | html += '<td>' + Dygraph.numberFormatter(x, g_mock) + '</td>'; | |
111 | } | |
112 | for (var i = 0; i < fixed.length; i++) { | |
113 | attr = { sigFigs: null, digitsAfterDecimal: fixed[i][0], maxNumberWidth: fixed[i][1] }; | |
114 | html += '<td>' + Dygraph.numberFormatter(x, g_mock) + '</td>'; | |
115 | } | |
116 | html += '</tr>\n'; | |
117 | } | |
118 | ||
119 | html += '</table>'; | |
120 | document.getElementById('blah').innerHTML = html; | |
121 | </script> | |
122 | </body> | |
123 | </html> |