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]--> | |
7e5ddc94 DV |
9 | <!-- |
10 | For production (minified) code, use: | |
11 | <script type="text/javascript" src="dygraph-combined.js"></script> | |
12 | --> | |
13 | <script type="text/javascript" src="../dygraph-dev.js"></script> | |
14 | ||
17d0210c DV |
15 | <style type="text/css"> |
16 | .thinborder { | |
17 | border: 1px solid black; | |
18 | border-spacing: 0px; | |
19 | border-collapse: collapse; | |
20 | } | |
21 | .thinborder td, | |
22 | .thinborder th { | |
23 | border: 1px solid black; | |
24 | padding: 5px; | |
25 | } | |
26 | </style> | |
27 | </head> | |
28 | <body> | |
29 | <h2>dygraphs number display</h2> | |
30 | <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> | |
31 | <p>To switch to scientific mode, set the <i>sigFigs</i> option to the number of significant figures in your data.</p> | |
32 | <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> | |
33 | ||
34 | <div id='blah'></div> | |
35 | ||
36 | <script type="text/javascript"> | |
37 | var nums = [ | |
38 | -1.234e10, | |
39 | -1e10, | |
40 | -1.23e4, | |
41 | -123.456789, | |
42 | -123, | |
43 | -1, | |
44 | -0.123456, | |
45 | -0.1, | |
46 | -0.001234567, | |
47 | -0.001, | |
48 | -0.0000000001, | |
49 | 0, | |
50 | 0.0000000001, | |
51 | 0.001, | |
52 | 0.001234567, | |
53 | 0.1, | |
54 | 0.123456, | |
55 | 1, | |
56 | 3, | |
57 | 3.14, | |
58 | 3.14159, | |
59 | 3.14159265, | |
60 | 3.14159265358, | |
61 | 123, | |
62 | 123.456789, | |
63 | 1.23e4, | |
64 | 1e5, | |
65 | 1e6, | |
66 | 1e7, | |
67 | 1e8, | |
68 | 1e9, | |
69 | 1e10, | |
70 | 1.234e10 | |
71 | ]; | |
72 | ||
73 | var scientific = [ 1, 2, 3, 4, 5, 6 ]; | |
74 | var fixed = [ [2, 6], [3, 6], [5, 6], [1, 10], [2, 10], [5, 10] ]; | |
75 | ||
76 | // Helper functions for generating an HTML table for holding the test | |
77 | // results. | |
78 | createRow = function(columnType, columns) { | |
79 | var row = document.createElement('tr'); | |
80 | for (var i = 0; i < columns.length; i ++) { | |
81 | var th = document.createElement(columnType); | |
82 | var text = document.createTextNode(columns[i]); | |
83 | th.appendChild(text); | |
84 | row.appendChild(th); | |
85 | }; | |
86 | return row; | |
87 | }; | |
88 | ||
89 | var html = '<table class=thinborder>'; | |
90 | html += '<tr><th> </th><th colspan=' + scientific.length + '>Scientific (sigFigs)</th><th colspan=' + fixed.length + '>Fixed (digitsAfterDecimal, maxNumberWidth)</th></tr>\n'; | |
91 | html += '<tr><th>Number</th>'; | |
92 | for (var i = 0; i < scientific.length; i++) { | |
93 | html += '<th>' + scientific[i] + '</th>'; | |
94 | } | |
95 | for (var i = 0; i < fixed.length; i++) { | |
96 | html += '<th>' + fixed[i] + '</th>'; | |
97 | } | |
98 | html += '</tr>\n'; | |
99 | ||
100 | var attr = {}; | |
101 | var g_mock = { | |
102 | attr_: function(x) { | |
103 | return attr[x]; | |
104 | } | |
105 | }; | |
106 | for (var j = 0; j < nums.length; j++) { | |
107 | var x = nums[j]; | |
108 | html += '<tr>'; | |
109 | html += '<td>' + x + '</td>'; | |
110 | for (var i = 0; i < scientific.length; i++) { | |
111 | attr = { sigFigs: scientific[i] }; | |
112 | html += '<td>' + Dygraph.numberFormatter(x, g_mock) + '</td>'; | |
113 | } | |
114 | for (var i = 0; i < fixed.length; i++) { | |
115 | attr = { sigFigs: null, digitsAfterDecimal: fixed[i][0], maxNumberWidth: fixed[i][1] }; | |
116 | html += '<td>' + Dygraph.numberFormatter(x, g_mock) + '</td>'; | |
117 | } | |
118 | html += '</tr>\n'; | |
119 | } | |
120 | ||
121 | html += '</table>'; | |
122 | document.getElementById('blah').innerHTML = html; | |
123 | </script> | |
124 | </body> | |
125 | </html> |