summaryrefslogtreecommitdiff
path: root/examples/interacting-axes.html
diff options
context:
space:
mode:
Diffstat (limited to 'examples/interacting-axes.html')
-rw-r--r--examples/interacting-axes.html97
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>