diff options
Diffstat (limited to 'examples/tracking.html')
-rw-r--r-- | examples/tracking.html | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/examples/tracking.html b/examples/tracking.html deleted file mode 100644 index c116159..0000000 --- a/examples/tracking.html +++ /dev/null @@ -1,95 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <title>Flot Examples</title> - <link href="layout.css" rel="stylesheet" type="text/css"> - <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--> - <script language="javascript" type="text/javascript" src="../jquery.js"></script> - <script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> - <script language="javascript" type="text/javascript" src="../jquery.flot.crosshair.js"></script> - </head> - <body> - <h1>Flot Examples</h1> - - <div id="placeholder" style="width:600px;height:300px"></div> - - <p>You can add crosshairs that'll track the mouse position, either - on both axes or as here on only one.</p> - - <p>If you combine it with listening on hover events, you can use - it to track the intersection on the curves by interpolating - the data points (look at the legend).</p> - - <p id="hoverdata"></p> - -<script type="text/javascript"> -var plot; -$(function () { - var sin = [], cos = []; - for (var i = 0; i < 14; i += 0.1) { - sin.push([i, Math.sin(i)]); - cos.push([i, Math.cos(i)]); - } - - plot = $.plot($("#placeholder"), - [ { data: sin, label: "sin(x) = -0.00"}, - { data: cos, label: "cos(x) = -0.00" } ], { - series: { - lines: { show: true } - }, - crosshair: { mode: "x" }, - grid: { hoverable: true, autoHighlight: false }, - yaxis: { min: -1.2, max: 1.2 } - }); - var legends = $("#placeholder .legendLabel"); - legends.each(function () { - // fix the widths so they don't jump around - $(this).css('width', $(this).width()); - }); - - var updateLegendTimeout = null; - var latestPosition = null; - - function updateLegend() { - updateLegendTimeout = null; - - var pos = latestPosition; - - var axes = plot.getAxes(); - if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max || - pos.y < axes.yaxis.min || pos.y > axes.yaxis.max) - return; - - var i, j, dataset = plot.getData(); - for (i = 0; i < dataset.length; ++i) { - var series = dataset[i]; - - // find the nearest points, x-wise - for (j = 0; j < series.data.length; ++j) - if (series.data[j][0] > pos.x) - break; - - // now interpolate - var y, p1 = series.data[j - 1], p2 = series.data[j]; - if (p1 == null) - y = p2[1]; - else if (p2 == null) - y = p1[1]; - else - y = p1[1] + (p2[1] - p1[1]) * (pos.x - p1[0]) / (p2[0] - p1[0]); - - legends.eq(i).text(series.label.replace(/=.*/, "= " + y.toFixed(2))); - } - } - - $("#placeholder").bind("plothover", function (event, pos, item) { - latestPosition = pos; - if (!updateLegendTimeout) - updateLegendTimeout = setTimeout(updateLegend, 50); - }); -}); -</script> - - </body> -</html> |