diff options
author | Igor Sfiligoi <isfiligoi@ucsd.edu> | 2013-11-07 12:50:35 -0500 |
---|---|---|
committer | Igor Sfiligoi <isfiligoi@ucsd.edu> | 2013-11-07 12:50:35 -0500 |
commit | 680241cbb652ee29088baa6cde2da02002e5ec47 (patch) | |
tree | 3f0c17df67c0ab0e91542ae75fff175750581859 /examples/interacting-axes.html | |
parent | f361d0498d284c6c7f3f366bf88e49b93e1245f0 (diff) |
Diffstat (limited to 'examples/interacting-axes.html')
-rw-r--r-- | examples/interacting-axes.html | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/examples/interacting-axes.html b/examples/interacting-axes.html deleted file mode 100644 index 5b6e3bb..0000000 --- a/examples/interacting-axes.html +++ /dev/null @@ -1,97 +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> - </head> - <body> - <h1>Flot Examples</h1> - - <div id="placeholder" style="width:600px;height:300px;"></div> - - <p>With multiple axes, you sometimes need to interact with them. A - simple way to do this is to draw the plot, deduce the axis - placements and insert a couple of divs on top to catch events. - Try clicking an axis.</p> - - <p id="click"></p> - -<script type="text/javascript"> -$(function () { - function generate(start, end, fn) { - var res = []; - for (var i = 0; i <= 100; ++i) { - var x = start + i / 100 * (end - start); - res.push([x, fn(x)]); - } - return res; - } - - var data = [ - { data: generate(0, 10, function (x) { return Math.sqrt(x)}), xaxis: 1, yaxis:1 }, - { data: generate(0, 10, function (x) { return Math.sin(x)}), xaxis: 1, yaxis:2 }, - { data: generate(0, 10, function (x) { return Math.cos(x)}), xaxis: 1, yaxis:3 }, - { data: generate(2, 10, function (x) { return Math.tan(x)}), xaxis: 2, yaxis: 4 } - ]; - - var plot = $.plot($("#placeholder"), - data, - { - xaxes: [ - { position: 'bottom' }, - { position: 'top'} - ], - yaxes: [ - { position: 'left' }, - { position: 'left' }, - { position: 'right' }, - { position: 'left' } - ] - }); - - // now for each axis, create a div - - function getBoundingBoxForAxis(plot, axis) { - var left = axis.box.left, top = axis.box.top, - right = left + axis.box.width, bottom = top + axis.box.height; - - // some ticks may stick out, enlarge the box to encompass all ticks - var cls = axis.direction + axis.n + 'Axis'; - plot.getPlaceholder().find('.' + cls + ' .tickLabel').each(function () { - var pos = $(this).position(); - left = Math.min(pos.left, left); - top = Math.min(pos.top, top); - right = Math.max(Math.round(pos.left) + $(this).outerWidth(), right); - bottom = Math.max(Math.round(pos.top) + $(this).outerHeight(), bottom); - }); - - return { left: left, top: top, width: right - left, height: bottom - top }; - } - - $.each(plot.getAxes(), function (i, axis) { - if (!axis.show) - return; - - var box = getBoundingBoxForAxis(plot, axis); - - $('<div class="axisTarget" style="position:absolute;left:' + box.left + 'px;top:' + box.top + 'px;width:' + box.width + 'px;height:' + box.height + 'px"></div>') - .data('axis.direction', axis.direction) - .data('axis.n', axis.n) - .css({ backgroundColor: "#f00", opacity: 0, cursor: "pointer" }) - .appendTo(plot.getPlaceholder()) - .hover( - function () { $(this).css({ opacity: 0.10 }) }, - function () { $(this).css({ opacity: 0 }) } - ) - .click(function () { - $("#click").text("You clicked the " + axis.direction + axis.n + "axis!") - }); - }); -}); -</script> - </body> -</html> |