<!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: Stacking</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.stack.js"></script>

	<script type="text/javascript">



	$(function() {



		var d1 = [];

		for (var i = 0; i <= 10; i += 1) {

			d1.push([i, parseInt(Math.random() * 30)]);

		}



		var d2 = [];

		for (var i = 0; i <= 10; i += 1) {

			d2.push([i, parseInt(Math.random() * 30)]);

		}



		var d3 = [];

		for (var i = 0; i <= 10; i += 1) {

			d3.push([i, parseInt(Math.random() * 30)]);

		}



		var stack = 0,

			bars = true,

			lines = false,

			steps = false;



		function plotWithOptions() {

			$.plot("#placeholder", [ d1, d2, d3 ], {

				series: {

					stack: stack,

					lines: {

						show: lines,

						fill: true,

						steps: steps

					},

					bars: {

						show: bars,

						barWidth: 0.6

					}

				}

			});

		}



		plotWithOptions();



		$(".stackControls button").click(function (e) {

			e.preventDefault();

			stack = $(this).text() == "With stacking" ? true : null;

			plotWithOptions();

		});



		$(".graphControls button").click(function (e) {

			e.preventDefault();

			bars = $(this).text().indexOf("Bars") != -1;

			lines = $(this).text().indexOf("Lines") != -1;

			steps = $(this).text().indexOf("steps") != -1;

			plotWithOptions();

		});



		// Add the Flot version string to the footer



		$("#footer").prepend("Flot " + $.plot.version + " &ndash; ");

	});



	</script>

</head>

<body>



	<div id="header">

		<h2>Stacking</h2>

	</div>



	<div id="content">



		<div class="demo-container">

			<div id="placeholder" class="demo-placeholder"></div>

		</div>



		<p>With the stack plugin, you can have Flot stack the series. This is useful if you wish to display both a total and the constituents it is made of. The only requirement is that you provide the input sorted on x.</p>



		<p class="stackControls">

			<button>With stacking</button>

			<button>Without stacking</button>

		</p>



		<p class="graphControls">

			<button>Bars</button>

			<button>Lines</button>

			<button>Lines with steps</button>

		</p>



	</div>



	<div id="footer">

		Copyright &copy; 2007 - 2014 IOLA and Ole Laursen

	</div>



</body>

</html>

