4 <meta http-equiv=
"X-UA-Compatible" content=
"IE=EmulateIE7; IE=EmulateIE9">
5 <title>significant figures
</title>
7 <script type=
"text/javascript" src=
"../excanvas.js"></script>
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>
15 <p>Tests for various inputs to Dygraph.significantFigures(). All tests
16 should have result PASS.
</p>
17 <div id=
"tests"></div>
19 <script type=
"text/javascript">
20 // Helper functions for generating an HTML table for holding the test
22 createRow = function(columnType, columns) {
23 var row = document.createElement('tr');
24 for (var i =
0; i < columns.length; i ++) {
25 var th = document.createElement(columnType);
26 var text = document.createTextNode(columns[i]);
33 createHeaderRow = function(columns) {
34 return createRow('th', columns);
37 createDataRow = function(columns) {
38 return createRow('td', columns);
41 createTable = function(headerColumns, dataColumnsList) {
42 var table = document.createElement('table');
43 table.appendChild(createHeaderRow(headerColumns));
44 for (var i =
0; i < dataColumnsList.length; i++) {
45 table.appendChild(createDataRow(dataColumnsList[i]));
47 table.setAttribute('border', '
1');
51 // input gives input floating point in string form
52 // expected gives number of significant figures
54 {input: '
1.0', expected:
1},
55 {input: '
1.0000', expected:
1},
56 {input: '
3.14159', expected:
6},
57 {input: '
3.05', expected:
3},
58 {input: '
3.0000001', expected:
8},
59 {input: '
1.999999999999', expected:
13} // =
13 digits.
62 var headers = ['Input', 'Output', 'Expected', 'Test Result'];
65 for (var i =
0; i < testData.length; i++) {
66 var test = testData[i];
67 var output = Dygraph.significantFigures(parseFloat(test.input));
68 data[i] = [test.input, output, test.expected,
69 (output == test.expected ? 'PASS' : 'FAIL')];
72 var root = document.getElementById('tests');
73 root.appendChild(createTable(headers, data));
79 <p>Check for correct number of significant figures with very small
80 y values. Both plots have the same input x,y values.
</p>
82 <div id=
"smallvals1" style=
"width:600px; height:300px;"></div>
85 <div id=
"smallvals2" style=
"width:600px; height:300px;"></div>
87 <script type=
"text/javascript">
95 new Dygraph(document.getElementById(
"smallvals1"), data,
97 labels: [
"Date",
"CustomFormatting"],
98 xValueFormatter: function(x) { return x.toPrecision(
4); },
99 yValueFormatter: function(x) { return x.toPrecision(
3); }
102 new Dygraph(document.getElementById(
"smallvals2"), data,
104 labels: [
"Date",
"DefaultFormat"]