2016-04-24 14:26:11 +00:00
<!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: Interacting with axes< / title >
< link href = "../examples.css" rel = "stylesheet" type = "text/css" >
2019-10-23 10:34:21 +00:00
<!-- [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 >
2016-04-24 14:26:11 +00:00
< script type = "text/javascript" >
$(function() {
function generate(start, end, fn) {
var res = [];
2019-10-23 10:34:21 +00:00
for (var i = 0; i < = 100; ++i) {
var x = start + i / 100 * (end - start);
2016-04-24 14:26:11 +00:00
res.push([x, fn(x)]);
}
return res;
}
var data = [
2019-10-23 10:34:21 +00:00
{ 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 }
2016-04-24 14:26:11 +00:00
];
var plot = $.plot("#placeholder", data, {
xaxes: [
{ position: 'bottom' },
{ position: 'top'}
],
yaxes: [
{ position: 'left' },
{ position: 'left' },
{ position: 'right' },
2019-10-23 10:34:21 +00:00
{ position: 'left' }
2016-04-24 14:26:11 +00:00
]
});
// Create a div for each axis
$.each(plot.getAxes(), function (i, axis) {
if (!axis.show)
return;
var box = axis.box;
$("< 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!")
});
});
// Add the Flot version string to the footer
$("#footer").prepend("Flot " + $.plot.version + " – ");
});
< / script >
< / head >
< body >
< div id = "header" >
< h2 > Interacting with axes< / h2 >
< / div >
< div id = "content" >
< div class = "demo-container" >
< div id = "placeholder" class = "demo-placeholder" > < / div >
< / 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.< / p >
< p > Try clicking an axis.< / p >
< p id = "click" > < / p >
< / div >
< div id = "footer" >
Copyright © 2007 - 2014 IOLA and Ole Laursen
< / div >
< / body >
< / html >