make plotter a test
authorDan Vanderkam <danvdk@gmail.com>
Fri, 27 Nov 2009 17:23:15 +0000 (12:23 -0500)
committerDan Vanderkam <danvdk@gmail.com>
Fri, 27 Nov 2009 17:23:15 +0000 (12:23 -0500)
docs/plotter.html [deleted file]
tests/plotter.html [new file with mode: 0644]

diff --git a/docs/plotter.html b/docs/plotter.html
deleted file mode 100644 (file)
index f36573b..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<html>
-  <head>
-    <title>dygraphs Equation Plotter</title>
-    <!--[if IE]>
-    <script type="text/javascript" src="excanvas.js"></script>
-    <![endif]-->
-    <script type="text/javascript" src="../dygraph-combined.js"></script>
-    <script type="text/javascript" src="../dygraph-canvas.js"></script>
-    <script type="text/javascript" src="../dygraph.js"></script>
-    <script type="text/javascript">
-      function plot() {
-        var eq = document.getElementById("eq").value;
-        eval("fn = " + eq);
-
-        var graph = document.getElementById("graph");
-        var width = parseInt(graph.style.width);
-        var x1 = parseFloat(document.getElementById("x1").value);
-        var x2 = parseFloat(document.getElementById("x2").value);
-        var xs = 1.0 * (x2 - x1) / width;
-
-        var data = [];
-        for (var i = 0; i < width; i++) {
-          var x = x1 + i * xs;
-          var y = fn(x);
-          var row = [x];
-          if (y.length > 0) {
-            for (var j = 0; j < y.length; j++) {
-              row.push(y[j]);
-            }
-          } else {
-            row.push(y);
-          }
-          data.push(row);
-        }
-
-        g = new Dygraph(graph, data);
-      }
-
-      function preset() {
-        var sel = document.getElementById("presets").selectedIndex;
-        var id = document.getElementById("presets").options[sel].id;
-        var presets = {
-          'id': [ -10, 10, 'function(x) {\n  return x;\n}' ],
-          'sine': [ -10, 10, 'function(x) {\n  return Math.sin(x);\n}' ],
-          'taylor': [ -3, 3, 'function(x) {\n  return [Math.cos(x), 1 - x*x/2 + x*x*x*x/24];\n}' ],
-          'sawtooth': [-10, 10, 'function(x) {\n  var y = 0;\n  for (var i = 1; i < 20; i+=2) {\n    y += Math.sin(i * x)/i;\n  }\n  var final = 1 - 2*(Math.abs(Math.floor(x / Math.PI)) % 2);\n  return [4/Math.PI * y, final];\n}' ]
-        };
-
-        if (id == "custom") { return; }
-        document.getElementById("x1").value = presets[id][0];
-        document.getElementById("x2").value = presets[id][1];
-        document.getElementById("eq").value = presets[id][2];
-        plot();
-      }
-    </script>
-  </head>
-  <body onload="preset()">
-    <p><b>Equation: </b><br/>
-    <textarea cols="40" rows="10" id="eq">function(x) {
-  return [0.1 * x, 0.1 * x + Math.sin(x), 0.1*x + Math.cos(x)];
-}</textarea><br/>
-<b>Preset functions:</b> <select id=presets onchange="preset()">
-<option id=custom>(custom)</option>
-<option id=id>Identity</option>
-<option id=sine>Sine Wave</option>
-<option id=taylor>Taylor series</option>
-<option selected id=sawtooth>Sawtooth</option>
-</select>
-    </p>
-
-    <p><b>x range: </b> <input type=text width="5" id="x1" value="-10" />
-    to <input type=text width="5" id="x2" value="10" /></p>
-    <p><input type=button value="Plot" onClick="plot()" /></p>
-
-    <div id=graph style="width:1024px; height:400px;"></div>
-  </body>
-</html>
diff --git a/tests/plotter.html b/tests/plotter.html
new file mode 100644 (file)
index 0000000..f36573b
--- /dev/null
@@ -0,0 +1,77 @@
+<html>
+  <head>
+    <title>dygraphs Equation Plotter</title>
+    <!--[if IE]>
+    <script type="text/javascript" src="excanvas.js"></script>
+    <![endif]-->
+    <script type="text/javascript" src="../dygraph-combined.js"></script>
+    <script type="text/javascript" src="../dygraph-canvas.js"></script>
+    <script type="text/javascript" src="../dygraph.js"></script>
+    <script type="text/javascript">
+      function plot() {
+        var eq = document.getElementById("eq").value;
+        eval("fn = " + eq);
+
+        var graph = document.getElementById("graph");
+        var width = parseInt(graph.style.width);
+        var x1 = parseFloat(document.getElementById("x1").value);
+        var x2 = parseFloat(document.getElementById("x2").value);
+        var xs = 1.0 * (x2 - x1) / width;
+
+        var data = [];
+        for (var i = 0; i < width; i++) {
+          var x = x1 + i * xs;
+          var y = fn(x);
+          var row = [x];
+          if (y.length > 0) {
+            for (var j = 0; j < y.length; j++) {
+              row.push(y[j]);
+            }
+          } else {
+            row.push(y);
+          }
+          data.push(row);
+        }
+
+        g = new Dygraph(graph, data);
+      }
+
+      function preset() {
+        var sel = document.getElementById("presets").selectedIndex;
+        var id = document.getElementById("presets").options[sel].id;
+        var presets = {
+          'id': [ -10, 10, 'function(x) {\n  return x;\n}' ],
+          'sine': [ -10, 10, 'function(x) {\n  return Math.sin(x);\n}' ],
+          'taylor': [ -3, 3, 'function(x) {\n  return [Math.cos(x), 1 - x*x/2 + x*x*x*x/24];\n}' ],
+          'sawtooth': [-10, 10, 'function(x) {\n  var y = 0;\n  for (var i = 1; i < 20; i+=2) {\n    y += Math.sin(i * x)/i;\n  }\n  var final = 1 - 2*(Math.abs(Math.floor(x / Math.PI)) % 2);\n  return [4/Math.PI * y, final];\n}' ]
+        };
+
+        if (id == "custom") { return; }
+        document.getElementById("x1").value = presets[id][0];
+        document.getElementById("x2").value = presets[id][1];
+        document.getElementById("eq").value = presets[id][2];
+        plot();
+      }
+    </script>
+  </head>
+  <body onload="preset()">
+    <p><b>Equation: </b><br/>
+    <textarea cols="40" rows="10" id="eq">function(x) {
+  return [0.1 * x, 0.1 * x + Math.sin(x), 0.1*x + Math.cos(x)];
+}</textarea><br/>
+<b>Preset functions:</b> <select id=presets onchange="preset()">
+<option id=custom>(custom)</option>
+<option id=id>Identity</option>
+<option id=sine>Sine Wave</option>
+<option id=taylor>Taylor series</option>
+<option selected id=sawtooth>Sawtooth</option>
+</select>
+    </p>
+
+    <p><b>x range: </b> <input type=text width="5" id="x1" value="-10" />
+    to <input type=text width="5" id="x2" value="10" /></p>
+    <p><input type=button value="Plot" onClick="plot()" /></p>
+
+    <div id=graph style="width:1024px; height:400px;"></div>
+  </body>
+</html>