Zionetrix::Git
Repositories
Help
Report an Issue
MyCo
Code
Commits
Branches
Tags
Search
Tree:
591cf0f
Branches
Tags
master
MyCo
inc
lib
flot-0.8.3
examples
zooming
index.html
Add categories chart
Benjamin Renard
commited
591cf0f
at 2014-07-22 23:59:56
index.html
Blame
History
Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Flot Examples: Selection and zooming</title> <link href="../examples.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.selection.js"></script> <script type="text/javascript"> $(function() { // setup plot function getData(x1, x2) { var d = []; for (var i = 0; i <= 100; ++i) { var x = x1 + i * (x2 - x1) / 100; d.push([x, Math.sin(x * Math.sin(x))]); } return [ { label: "sin(x sin(x))", data: d } ]; } var options = { legend: { show: false }, series: { lines: { show: true }, points: { show: true } }, yaxis: { ticks: 10 }, selection: { mode: "xy" } }; var startData = getData(0, 3 * Math.PI); var plot = $.plot("#placeholder", startData, options); // Create the overview plot var overview = $.plot("#overview", startData, { legend: { show: false }, series: { lines: { show: true, lineWidth: 1 }, shadowSize: 0 }, xaxis: { ticks: 4 }, yaxis: { ticks: 3, min: -2, max: 2 }, grid: { color: "#999" }, selection: { mode: "xy" } }); // now connect the two $("#placeholder").bind("plotselected", function (event, ranges) { // clamp the zooming to prevent eternal zoom if (ranges.xaxis.to - ranges.xaxis.from < 0.00001) { ranges.xaxis.to = ranges.xaxis.from + 0.00001; } if (ranges.yaxis.to - ranges.yaxis.from < 0.00001) { ranges.yaxis.to = ranges.yaxis.from + 0.00001; } // do the zooming plot = $.plot("#placeholder", getData(ranges.xaxis.from, ranges.xaxis.to), $.extend(true, {}, options, { xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to }, yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to } }) ); // don't fire event on the overview to prevent eternal loop overview.setSelection(ranges, true); }); $("#overview").bind("plotselected", function (event, ranges) { plot.setSelection(ranges); }); // Add the Flot version string to the footer $("#footer").prepend("Flot " + $.plot.version + " – "); }); </script> </head> <body> <div id="header"> <h2>Selection and zooming</h2> </div> <div id="content"> <div class="demo-container"> <div id="placeholder" class="demo-placeholder" style="float:left; width:650px;"></div> <div id="overview" class="demo-placeholder" style="float:right;width:160px; height:125px;"></div> </div> <p>Selection support makes it easy to construct flexible zooming schemes. With a few lines of code, the small overview plot to the right has been connected to the large plot. Try selecting a rectangle on either of them.</p> </div> <div id="footer"> Copyright © 2007 - 2014 IOLA and Ole Laursen </div> </body> </html>