+<!DOCTYPE html>
<html>
<head>
<title>crosshairs</title>
- <!--[if IE]>
- <script type="text/javascript" src="excanvas.js"></script>
- <![endif]-->
- <script type="text/javascript" src="../strftime/strftime-min.js"></script>
- <script type="text/javascript" src="../rgbcolor/rgbcolor.js"></script>
- <script type="text/javascript" src="../dygraph-canvas.js"></script>
- <script type="text/javascript" src="../dygraph.js"></script>
+ <!--
+ For production (minified) code, use:
+ <script type="text/javascript" src="dygraph-combined.js"></script>
+ -->
+ <script type="text/javascript" src="../dist/dygraph.js"></script>
+
+ <script type="text/javascript" src="../src/extras/crosshair.js"></script>
<script type="text/javascript" src="data.js"></script>
</head>
<body>
- <p>Hover, click and zoom to test the callbacks:</p>
- <div id="div_g" style="width:600px; height:300px; position:relative;">
+ <p>Vertical crosshair:</p>
+ <div id="div_g_v" style="width:600px; height:300px; position:relative;">
</div>
- <script type="text/javascript">
- var lines = [];
- var xline;
- g = new Dygraph(
- document.getElementById("div_g"),
- NoisyData, {
- rollPeriod: 7,
- showRoller: true,
- errorBars: true,
+ <p>Horizontal crosshairs:</p>
+ <div id="div_g_h" style="width:600px; height:300px; position:relative;">
+ </div>
- highlightCallback: function(e, x, pts) {
- for (var i = 0; i < pts.length; i++) {
- var y = pts[i].canvasy;
- lines[i].style.display = "";
- lines[i].style.top = y + "px";
- if (i == 0) xline.style.left = pts[i].canvasx + "px";
- }
- xline.style.display = "";
- },
+ <p>Both crosshairs:</p>
+ <div id="div_g_b" style="width:600px; height:300px; position:relative;">
+ </div>
+
+ <script type="text/javascript">
+ gv = new Dygraph(
+ document.getElementById("div_g_v"),
+ NoisyData,
+ {
+ rollPeriod: 7,
+ showRoller: true,
+ errorBars: true,
- unhighlightCallback: function(e) {
- for (var i = 0; i < 2; i++) {
- lines[i].style.display = "none";
- }
- xline.style.display = "none";
- }
- }
- );
+ plugins: [
+ new Dygraph.Plugins.Crosshair({
+ direction: "vertical"
+ })
+ ]
+ }
+ );
+ gh = new Dygraph(
+ document.getElementById("div_g_h"),
+ NoisyData, {
+ rollPeriod: 7,
+ showRoller: true,
+ errorBars: true,
- for (var i = 0; i < 2; i++) {
- var line = document.createElement("div");
- line.style.display = "none";
- line.style.width = "100%";
- line.style.height = "1px";
- line.style.backgroundColor = "black";
- line.style.position = "absolute";
- document.getElementById("div_g").appendChild(line);
- lines.push(line);
- }
+ plugins: [
+ new Dygraph.Plugins.Crosshair({
+ direction: "horizontal"
+ })
+ ]
+ }
+ );
+ gb = new Dygraph(
+ document.getElementById("div_g_b"),
+ NoisyData, {
+ rollPeriod: 7,
+ showRoller: true,
+ errorBars: true,
- xline = document.createElement("div");
- xline.style.display = "none";
- xline.style.width = "1px";
- xline.style.height = "100%";
- xline.style.top = "0px";
- xline.style.backgroundColor = "black";
- xline.style.position = "absolute";
- document.getElementById("div_g").appendChild(xline);
+ plugins: [
+ new Dygraph.Plugins.Crosshair({
+ direction: "both"
+ })
+ ]
+ }
+ );
</script>
</body>
</html>