diff options
Diffstat (limited to 'examples/interacting.html')
-rw-r--r-- | examples/interacting.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/examples/interacting.html b/examples/interacting.html new file mode 100644 index 0000000..b5c8003 --- /dev/null +++ b/examples/interacting.html @@ -0,0 +1,92 @@ +<!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"></link> + <!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.pack.js"></script><![endif]--> + <script language="javascript" type="text/javascript" src="../jquery.js"></script> + <script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> + </head> + <body> + <h1>Flot Examples</h1> + + <div id="placeholder" style="width:600px;height:300px"></div> + + <p>One of the goals of Flot is to support user interactions. Try + pointing and clicking on the points.</p> + + <p id="hoverdata">Mouse hovers at + (<span id="x">0</span>, <span id="y">0</span>). <span id="clickdata"></span></p> + + <p>A tooltip is easy to build with a bit of jQuery code and the + data returned from the plot.</p> + + <p><input id="enableTooltip" type="checkbox">Enable tooltip</p> + +<script id="source" language="javascript" type="text/javascript"> +$(function () { + var sin = [], cos = []; + for (var i = 0; i < 14; i += 0.5) { + sin.push([i, Math.sin(i)]); + cos.push([i, Math.cos(i)]); + } + + var plot = $.plot($("#placeholder"), + [ { data: sin, label: "sin(x)"}, { data: cos, label: "cos(x)" } ], + { lines: { show: true }, + points: { show: true }, + selection: { mode: "xy" }, + grid: { hoverable: true, clickable: true }, + yaxis: { min: -1.2, max: 1.2 } + }); + + function showTooltip(x, y, contents) { + $('<div id="tooltip">' + contents + '</div>').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#fee', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#placeholder").bind("plothover", function (event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if ($("#enableTooltip:checked").length > 0) { + if (item) { + if (previousPoint != item.datapoint) { + previousPoint = item.datapoint; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, + item.series.label + " of " + x + " = " + y); + } + } + else { + $("#tooltip").remove(); + previousPoint = null; + } + } + }); + + $("#placeholder").bind("plotclick", function (event, pos, item) { + if (item) { + $("#clickdata").text("You clicked point " + item.dataIndex + " in " + item.series.label + "."); + plot.highlight(item.series, item.datapoint); + } + }); +}); +</script> + + </body> +</html> |