mirror of
				https://github.com/dawidolko/Website-Templates.git
				synced 2025-10-31 08:23:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!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">
 | |
| 	<!--[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 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' }
 | |
| 			]
 | |
| 		});
 | |
| 
 | |
| 		// 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>
 |