Chris Leonello avatar Chris Leonello committed 13b57be

Refactoring examples.

Comments (0)

Files changed (20)

examples/area.php

+<?php 
+    $title = "Filled (Area) Charts";
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script type="text/javascript" src="../src/plugins/jqplot.barRenderer.js"></script>
+  <script type="text/javascript" src="../src/plugins/jqplot.categoryAxisRenderer.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+<style type="text/css">
+.jqplot-target {
+    margin: 30px;
+}
+</style>
+
+<p>Area charts support highlighting and mouse events by default.  The options and handlers and callbacks are essentially the same as with bar, pie, donut and funnel charts.  One notable exception for area charts is that no data point index will be provided to the callback and the entire data set for the highlighted area will be returned.  This is because the area is not associated with one particular data point, but with the entire data set of the series.</p>
+
+<div><span>Moused Over: </span><span id="info1b">Nothing</span></div>
+
+<div id="chart1b" style="width:400px;height:260px;"></div>
+
+<p>For the chart below, mouseover has been disabled and click handling is enabled by setting "highlightMouseDown: true".  For "fillToZero" area charts that have both negative and positive values as shown below, clicking in either the positive of negative regions will generate the same result.</p> 
+
+<div><span>You Clicked: </span><span id="info1c">Nothing yet</span></div>
+
+<div id="chart1c" style="width:400px;height:260px;"></div>
+  
+
+
+<script class="code" language="javascript" type="text/javascript">
+$(document).ready(function(){
+
+    var l2 = [11, 9, 5, 12, 14];
+    var l3 = [4, 8, 5, 3, 6];
+    var l4 = [12, 6, 13, 11, 2];    
+
+    
+    var plot1b = $.jqplot('chart1b',[l2, l3, l4],{
+       stackSeries: true,
+       showMarker: false,
+       seriesDefaults: {
+           fill: true
+       },
+       axes: {
+           xaxis: {
+               renderer: $.jqplot.CategoryAxisRenderer,
+               ticks: ["Mon", "Tue", "Wed", "Thr", "Fri"]
+           }
+       }
+    });
+    
+    $('#chart1b').bind('jqplotDataHighlight', 
+        function (ev, seriesIndex, pointIndex, data) {
+            $('#info1b').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
+        }
+    );
+    
+    $('#chart1b').bind('jqplotDataUnhighlight', 
+        function (ev) {
+            $('#info1b').html('Nothing');
+        }
+    );
+});
+</script>
+ 
+ 
+<script class="code" language="javascript" type="text/javascript">
+$(document).ready(function(){   
+    var l5 = [4, -3, 3, 6, 2, -2];
+    var plot1c = $.jqplot('chart1c',[l5],{
+       stackSeries: true,
+       showMarker: false,
+       seriesDefaults: {
+           fill: true,
+           fillToZero: true,
+           rendererOptions: {
+               highlightMouseDown: true
+           }
+       }
+    });
+
+    $('#chart1c').bind('jqplotDataClick', 
+        function (ev, seriesIndex, pointIndex, data) {
+            $('#info1c').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
+        }
+    );
+});
+</script>
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/axisLabelsRotatedText.php

+<?php 
+    $title = "Filled (Area) Charts";
+    $plotTargets = array('chart1', 'chart2', 'chart3', 'chart4');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.logAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasTextRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasAxisLabelRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasAxisTickRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.categoryAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.barRenderer.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+    <style type="text/css">
+      .jqplot-point-label {white-space: nowrap;}
+/*    .jqplot-yaxis-label {font-size: 14pt;}*/
+/*    .jqplot-yaxis-tick {font-size: 7pt;}*/
+
+    div.jqplot-target {
+        height: 400px;
+        width: 750px;
+        margin: 70px;
+    }
+    </style>
+    
+    
+        <script class="code" type="text/javascript" language="javascript">
+$(document).ready(function(){
+    var line1 = [6.5, 9.2, 14, 19.65, 26.4, 35, 51];
+
+    var plot1 = $.jqplot('chart1', [line1], {
+        legend: {show:false},
+        axes:{
+          xaxis:{
+          tickOptions:{ 
+            angle: -30
+          },
+          tickRenderer:$.jqplot.CanvasAxisTickRenderer,
+            label:'Core Motor Amperage', 
+          labelOptions:{
+            fontFamily:'Helvetica',
+            fontSize: '14pt'
+          },
+          labelRenderer: $.jqplot.CanvasAxisLabelRenderer
+          }, 
+          yaxis:{
+            renderer:$.jqplot.LogAxisRenderer,
+            tickOptions:{
+                labelPosition: 'middle', 
+                angle:-30
+            },
+            tickRenderer:$.jqplot.CanvasAxisTickRenderer,
+            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+            labelOptions:{
+                fontFamily:'Helvetica',
+                fontSize: '14pt'
+            },
+            label:'Core Motor Voltage'
+          }
+        }
+    });
+
+});
+</script>
+<script class="code" type="text/javascript" language="javascript">
+$(document).ready(function(){   
+    var line2 = [['1/1/2008', 42], ['2/14/2008', 56], ['3/7/2008', 39], ['4/22/2008', 81]];
+
+    var plot2 = $.jqplot('chart2', [line2], {
+      axes: {
+        xaxis: {
+          renderer: $.jqplot.DateAxisRenderer,
+          label: 'Incliment Occurrance',
+          labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+          tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+          tickOptions: {
+              // labelPosition: 'middle',
+              angle: 15
+          }
+          
+        },
+        yaxis: {
+          label: 'Incliment Factor',
+          labelRenderer: $.jqplot.CanvasAxisLabelRenderer
+        }
+      }
+    });
+
+});
+</script>
+<script class="code" type="text/javascript" language="javascript">
+$(document).ready(function(){   
+    var line3 = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp Marketing Gimmick', 9], 
+    ['HDTV Receiver', 15], ['8 Track Control Module', 12], 
+    ['SSPFM (Sealed Sludge Pump Fourier Modulator)', 3], 
+    ['Transcender/Spice Rack', 6], ['Hair Spray Rear View Mirror Danger Indicator', 18]];
+
+    var plot3 = $.jqplot('chart3', [line3], {
+      series:[{renderer:$.jqplot.BarRenderer}],
+      axes: {
+        xaxis: {
+          renderer: $.jqplot.CategoryAxisRenderer,
+          label: 'Warranty Concern',
+          labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+          tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+          tickOptions: {
+              angle: -30,
+              fontFamily: 'Courier New',
+              fontSize: '9pt'
+          }
+          
+        },
+        yaxis: {
+          label: 'Occurance',
+          labelRenderer: $.jqplot.CanvasAxisLabelRenderer
+        }
+      }
+    });
+    
+    
+});
+</script>
+  
+    <script class="code" type="text/javascript" language="javascript">
+$(document).ready(function(){
+
+    var line = [['Cup Holder Pinion Bob', 7], ['Generic Fog Lamp', 9], ['HDTV Receiver', 15], 
+    ['8 Track Control Module', 12], [' Sludge Pump Fourier Modulator', 3], 
+    ['Transcender/Spice Rack', 6], ['Hair Spray Danger Indicator', 18]];
+
+    var line2 = [['Nickle', 28], ['Aluminum', 13], ['Xenon', 54], ['Silver', 47], 
+    ['Sulfer', 16], ['Silicon', 14], ['Vanadium', 23]];
+
+    var plot4 = $.jqplot('chart4', [line, line2], {
+        title: 'Concern vs. Occurrance',
+        series:[{renderer:$.jqplot.BarRenderer}, {xaxis:'x2axis', yaxis:'y2axis'}],
+        axes: {
+            xaxis: {
+                renderer: $.jqplot.CategoryAxisRenderer,
+                label: 'Warranty Concern',
+                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+                tickOptions: {
+                    angle: 30
+                }
+            },
+            x2axis: {
+                renderer: $.jqplot.CategoryAxisRenderer,
+                label: 'Metal',
+                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+                tickOptions: {
+                    angle: 30
+                }
+            },
+            yaxis: {
+                autoscale:true,
+                label: 'Occurance',
+                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+                tickOptions: {
+                    angle: 30
+                }
+            },
+            y2axis: {
+                autoscale:true,
+                label: 'Number',
+                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
+                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+                tickOptions: {
+                    angle: 30
+                }
+            }
+        }
+    });
+});
+    </script>
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/axisScalingForceTickAt.php

+<?php 
+    $title = "Filled (Area) Charts";
+    // $plotTargets = array('chart1', 'chart2', 'chart3', 'chart4');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+
+  <script language="javascript" type="text/javascript" src="../src/jquery.jqplot.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasAxisTickRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasTextRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.canvasOverlay.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+
+<script language="javascript" type="text/javascript">
+
+  function makeContinuousData(npoints, ybase, yvariation) {
+      var data = [];
+      if (yvariation == null) {
+          yvariation = ybase;
+          ybase = (Math.random() - 0.5) * 2 * yvariation;
+      }
+      for (j=0; j<npoints; j++) {
+          data.push([j, ybase]);
+          ybase += (Math.random() - 0.5) * 2 * yvariation;
+      }
+      return data;
+  }
+
+  function makeRandomData(npoints, yvariation) {
+      var data = [];
+      for (j=0; j<npoints; j++) {
+          var y = (Math.random() - 0.5) * 2 * yvariation;
+          data.push([j, y]);
+      }
+      return data;
+  }
+  function makeDualContinuousData(npoints, xbase, xvariation, ybase, yvariation) {
+      var data = [];
+      if (ybase == null && yvariation == null) {
+          xvariation = xbase;
+          yvariation = xvariation;
+          xbase = (Math.random() - 0.5) * 2 * xvariation;
+          ybase = (Math.random() - 0.5) * 2 * yvariation;
+      }
+      for (j=0; j<npoints; j++) {
+          data.push([xbase, ybase]);
+          xbase += (Math.random()) * xvariation;
+          ybase += (Math.random() - 0.5) * 2 * yvariation;
+      }
+      return data;
+  }
+
+  var plotOptions = {
+      axes: {
+          yaxis: {
+              rendererOptions: { forceTickAt0:  true, forceTickAt100: true }
+          }
+      }
+  };
+
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot1 = $.jqplot('chart1',[makeContinuousData(100, 55)], {});
+});
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot2 = $.jqplot('chart2',[makeContinuousData(100, 1, 0.001)], {});
+});
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot3 = $.jqplot('chart3',[makeContinuousData(20, 40, 5)], {
+    axes: {
+      yaxis: {
+        rendererOptions: { forceTickAt0: true, forceTickAt100: true }
+      }
+    }
+  });
+});
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot4 = $.jqplot('chart4',[makeContinuousData(20, 40, 5)], {
+    axesDefaults: {
+      pad: 0
+    },
+    axes: {
+      yaxis: {
+        rendererOptions: { forceTickAt0: true, forceTickAt100: true }
+      }
+    }
+  });
+});
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot5 = $.jqplot('chart5',[makeContinuousData(20, 40, 5)], {
+    axes: {
+      xaxis: {
+        padMin: 0,
+        padMax: 1.2
+      },
+      yaxis: {
+        padMax: 0,
+        rendererOptions: { forceTickAt0: true, forceTickAt100: true }
+      }
+    }
+  });
+});
+</script>
+
+<script class="code" type="text/javascript"> 
+$(document).ready(function(){
+  plot6 = $.jqplot('chart6',[makeContinuousData(20, 40, 8)], {
+    axes: {
+      yaxis: {
+        rendererOptions: { forceTickAt0: true, forceTickAt100: true }
+      }
+    },
+    canvasOverlay: {
+      show: true,
+      objects: [
+        {horizontalLine: {
+          name: 'pebbles',
+          y: 0,
+          lineWidth: 3,
+          color: 'rgb(100, 55, 124)',
+          shadow: true,
+          lineCap: 'butt',
+          xOffset: 0
+        }},
+        {dashedHorizontalLine: {
+          name: 'bam-bam',
+          y: 100,
+          lineWidth: 4,
+          dashPattern: [8, 16],
+          lineCap: 'round',
+          xOffset: '25',
+          color: 'rgb(66, 98, 144)',
+          shadow: false
+        }}
+      ]
+    }
+  });
+});
+
+function lineup(plot, name) {
+    var co = plot.plugins.canvasOverlay;
+    var line = co.get(name);
+    line.options.y += 5;
+    co.draw(plot);
+}
+
+function linedown(plot, name) {
+    var co = plot.plugins.canvasOverlay;
+    var line = co.get(name);
+    line.options.y -= 5;
+    co.draw(plot);
+}
+
+</script>
+
+<div id="chart1" style="height:300px; width:600px;margin: 30px;"></div>
+<pre class="code brush: js"></pre>
+<div id="chart2" style="height:300px; width:600px;margin: 30px;"></div>
+<pre class="code brush: js"></pre>
+<div id="chart3" style="height:300px; width:600px;margin: 30px;"></div>
+<pre class="code brush: js"></pre>
+<div id="chart4" style="height:300px; width:600px;margin: 30px;"></div>
+<pre class="code brush: js"></pre>
+<div id="chart5" style="height:300px; width:600px;margin: 30px;"></div>
+<pre class="code brush: js"></pre>
+<div id="chart6" style="height:300px; width:600px;margin: 30px;"></div>
+
+<div>
+<button onclick="lineup(plot6, 'pebbles')">&nbsp;Pebbles Up&nbsp;&nbsp;</button>
+<button onclick="linedown(plot6, 'pebbles')">&nbsp;Pebbles Down&nbsp;</button>
+</div>
+<div>
+<button onclick="lineup(plot6, 'bam-bam')">Bam-Bam Up</button>
+<button onclick="linedown(plot6, 'bam-bam')">Bam-Bam Down</button>
+</div>
+
+<pre class="code brush: js"></pre>
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/bandedLine.php

+<?php 
+    $title = "Filled (Area) Charts";
+    // $plotTargets = array('chart1', 'chart2', 'chart3', 'chart4');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.highlighter.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.cursor.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.pointLabels.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+<p>Bands (like confidence intervals or error bands) can be added to line charts through the "bands" option of the line renderer.  The band data can be automatically computed or manually assigned.  If assigned manually, the simpliest approach is to set the "rendererOptions: { bandData: [] }" array on the series.  Note that band data is taken into account when axes scale themselves so bands will not get clipped.</p>
+
+
+<p>Band data can be supplied as arrays of [x,y] values.  One array for the upper band line and one for the lower band line.</p>
+
+ <div id="chart01" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+
+<p>The number of points in the band data arrays does not have to correspond to the number of points in the data series.  Also, band data will be drawn as smoothed lines if the data series is smoothed.</p>
+
+ <div id="chart02" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+<p>In this example, band data is supplied as an array of arrays of y values for the low and hi bands.  X values for the bands are taken from the x values of the series.  The band data is of the form:  [ [y low 1, y hi 1], [y low 2, y hi 2], ... ] and there must be a corresponding array of low/hi y values for each x value in the data series.</p>
+
+ <div id="chart1" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+<p>The band data can also be supplied as an array of [low y values], [hi y values].  In this case there must also be an equal number of low y values and hi y values as there are data points in the series.  X values for the low and hi bands will be taken from the series data.  Additionally, the order of low/hi values does not matter as long as they are consistent.  jqPlot will figure out which is the low values and which are the high values.</p>
+
+ <div id="chart2" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+<p>Band data does not have to be provided.  By default, jqPlot will compute +/- 3% band intervals if the "rendererOptions: { bands: { show: true } }" option is set.  The band intervals can be customized as well through the "rendererOptions: { bands: { interval: [number|string|arry] } }" option.  Valid intervals are:</p>
+
+<ul>
+<li> '1.7' - will add bands at y +/- 1.7 above and below the line.</li>
+<li> '10%' - will compute +/- 10% interval bands.</li>
+<li> [3, '-10%'] - will add bands at y + 3 and y - 10% above and below the line.</li>
+</ul>
+
+<p>Examples of such interval specifications are shown below:</p>
+
+ <div id="chart3" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+ <div id="chart4" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+ <div id="chart5" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+    
+<p>You can also customize the fill color of the bands and turn on/off band lines.  By default, bands respond to the mouse over event, but they can be set to respond to mouse down as well.</p>
+ <div id="chart6" style="height:300px; width:600px;"></div>
+    <pre class="code brush:js"></pre>
+
+<p>Note, the plots on this page all extend the following pre-defined theme:</p>
+
+    <pre class="code brush:js"></pre>
+
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    // Band data in arrays of [x,y] values.
+    bdat = [[['7/1/2011', 8], ['7/2/2011', 9], ['7/3/2011', 8], ['7/4/2011', 13], ['7/5/2011', 11], ['7/6/2011', 13]], 
+    [['7/1/2011', 12], ['7/2/2011', 13], ['7/3/2011', 12], ['7/4/2011', 17], ['7/5/2011', 15], ['7/6/2011', 17]]];
+    
+    dat = [['7/1/2011', 10], ['7/2/2011', 11], ['7/3/2011', 10], ['7/4/2011', 15], ['7/5/2011', 13], ['7/6/2011', 15]];
+
+    plot01 = $.jqplot('chart01', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bandData: bdat
+            }
+        }],
+        axes: {
+            xaxis: {
+                renderer: $.jqplot.DateAxisRenderer,
+                min: '7/1/2011',
+                max: '7/6/2011',
+                tickInterval: '1 day'
+            }
+        }
+    }));
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    // Band data in arrays of [x,y] values.
+    // Here the low band line (1st array) has 5 points and the hi band line has 4 points.
+    bdat = [[['7/1/2011', 9], ['7/3/2011', 7], ['7/4/2011', 13], ['7/5/2011', 11], ['7/6/2011', 13]], 
+    [['7/1/2011', 12], ['7/3/2011', 14], ['7/4/2011', 18], ['7/6/2011', 16]]];
+    
+    dat = [['7/1/2011', 10], ['7/2/2011', 11], ['7/3/2011', 10], ['7/4/2011', 15], ['7/5/2011', 13], ['7/6/2011', 15]];
+
+    plot02 = $.jqplot('chart02', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bandData: bdat,
+
+                // turn on smoothing
+                smooth: true
+            }
+        }],
+        axes: {
+            xaxis: {
+                renderer: $.jqplot.DateAxisRenderer,
+                min: '7/1/2011',
+                max: '7/6/2011',
+                tickInterval: '1 day'
+            }
+        }
+    }));
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    // data points for line.
+    dat = [[0, 10], [1, 11], [2, 10], [3, 15], [4, 13], [5, 15]];
+
+    // band data in [[low_y_1, hi_y_1], [low_y_2, hi_y_2],...] format
+    bdat = [[7, 13], [8, 14], [7, 13], [12, 18], [10, 16], [12, 18]];
+
+    plot1 = $.jqplot('chart1', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                // Set the band data on the series.
+                // Bands will be turned on automatically if
+                // valid band data is present.
+                bandData: bdat,
+                smooth: true
+            }
+        }]
+    }));
+});
+
+</script>
+
+
+<script class="code" type="text/javascript">
+
+$(document).ready(function(){
+    // here band data specified as an array of [low y values] and [hi y values]
+    bdat = [[7, 8, 7, 12, 10, 12], [13, 14, 13, 18, 16, 18]];
+
+    // Same plot as before with different band data specification and smoothed lines.
+    plot2 = $.jqplot('chart2', [dat], $.extend(true, {}, myTheme, {
+        series: [
+        {
+            rendererOptions: {
+                bandData: bdat,
+                smooth: true
+            }
+        }]
+    }));
+});
+
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    plot3 = $.jqplot('chart3', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bands: {
+                    // draw bands at 1.7 "units" above and below line.
+                    interval: 1.7
+                },
+                smooth: true
+            }
+        }]
+    }));
+});
+
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    plot4 = $.jqplot('chart4', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bands: {
+                    // draw interval at 10% above and below line.
+                    interval: '10%'
+                },
+                smooth: true
+            }
+        }]
+    }));
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    plot5 = $.jqplot('chart5', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bands: {
+                    // draw interval at 3 units above and 10% below line.
+                    interval: [3, '-10%']
+                },
+                smooth: true
+            }
+        }]
+    }));
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    plot6 = $.jqplot('chart6', [dat], $.extend(true, {}, myTheme, {
+        series: [{
+            rendererOptions: {
+                bands: {
+                    // draw interval at 3 units above and 10% below line.
+                    interval: 4,
+                    fillColor: 'rgba(198, 88, 88, 0.6)',
+                    showLines: true
+                },
+
+                // highlight the band on mouse down, not on mouse over.
+                highlightMouseDown: true,
+                smooth: true
+            }
+        }]
+    }));
+});
+</script>
+
+<script class="code" type="text/javascript">
+///////
+// A default set of reusable plot options.  Note that line
+// smoothing is turned on.  Bands will be drawn with the same 
+// smoothing as the line.
+//////
+myTheme = {
+  grid: {
+      drawBorder: false,
+      shadow: false,
+      background: 'rgba(255, 255, 255, 0.0)'
+  },
+  seriesDefaults: {
+    shadow: false,
+    showMarker: false
+  },
+  axes: {
+      xaxis: {
+          pad: 1.0,
+          tickOptions: {
+              showGridline: false
+          }
+      },
+      yaxis: {
+          pad: 1.05
+      }
+  }
+};
+</script>
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/barLineAnimated.php

+<?php 
+    $title = "Animated Charts";
+    $plotTargets = array(array('id'=>'chart1', 'height'=>300, 'width'=>700));
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.barRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.highlighter.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.cursor.js"></script> 
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.pointLabels.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+ <script class="code" type="text/javascript">
+
+    $(document).ready(function () {
+      var s1 = [[2002, 112000], [2003, 122000], [2004, 104000], [2005, 99000], [2006, 121000], 
+      [2007, 148000], [2008, 114000], [2009, 133000], [2010, 161000], [2011, 173000]];
+      var s2 = [[2002, 10200], [2003, 10800], [2004, 11200], [2005, 11800], [2006, 12400], 
+      [2007, 12800], [2008, 13200], [2009, 12600], [2010, 13100]];
+
+      plot1 = $.jqplot("chart1", [s2, s1], {
+        animate: true,
+        cursor: {
+            show: true,
+            zoom: true,
+            looseZoom: true,
+            showTooltip: false
+        },
+        series:[
+          {
+            pointLabels: {
+              show: true
+            },
+            renderer: $.jqplot.BarRenderer,
+            showHighlight: false,
+            yaxis: 'y2axis',
+            rendererOptions: {
+              barWidth: 15,
+              barPadding: -15,
+              barMargin: 0,
+              highlightMouseOver: false
+            }
+          }, {}],
+          axesDefaults: {
+            pad: 0
+          },
+          axes: {
+            // These options will set up the x axis like a category axis.
+            xaxis: {
+              tickInterval: 1,
+              drawMajorGridlines: false,
+              drawMinorGridlines: true,
+              drawMajorTickMarks: false,
+              rendererOptions: {
+                tickInset: 0.5,
+                minorTicks: 1
+              }
+            },
+            yaxis: {
+              tickOptions: {
+                formatString: "$%'d"
+              },
+              rendererOptions: {
+                forceTickAt0: true
+              }
+            },
+            y2axis: {
+              tickOptions: {
+                formatString: "$%'d"
+              },
+              rendererOptions: {
+                // align the ticks on the y2 axis with the y axis.
+                alignTicks: true,
+                forceTickAt0: true
+              }
+            }
+          },
+          highlighter: {
+            show: true, 
+            showLabel: true, 
+            tooltipAxes: 'y',
+            sizeAdjust: 7.5 , tooltipLocation : 'ne'
+          }
+      });
+      
+    });
+
+
+</script>
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/barTest.php

+<?php 
+    $title = "Animated Charts";
+    // $plotTargets = array(array('id'=>'chart1', 'height'=>300, 'width'=>700));
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script language="javascript" type="text/javascript" src="../src/jquery.jqplot.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.barRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.categoryAxisRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.pointLabels.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+    <p>Below is a default bar plot.  Bars will highlight on mouseover.  Events are triggered when you mouseover a bar and also when you click on a bar.  Here We capture the 'jqplotDataClick' event and display the clicked series index, point index and data values. When series data is assigned as a 1-dimensional array as in this example, jqPlot automatically converts it into a 2-dimensional array for plotting.  So a series defined as [2, 6, 7, 10] will become [[1,2], [2,6], [3,7], [4,10]].<p>
+    
+    <div><span>You Clicked: </span><span id="info1">Nothing yet</span></div>
+        
+    <div id="chart1" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+
+    <p>The plot target also fires a 'jqplotDataMouseOver' when the cursor is moused over a bar even if highlighting is turned off.  This event will fire continuously as the user mouses over the bar.  'jqplotDataHighlight' fires only once when the user first passes over the bar.  Additionally, a 'jqplotDataUnhighlight' event is fired when the user moves out of a bar (if highlighting is enabled).<p>
+
+    <div><span>Moused Over: </span><span id="info2">Nothing</span></div>
+    
+    <div id="chart2" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+    
+    <div><span>Moused Over: </span><span id="info2b">Nothing</span></div>
+    <div><span>Clicked: </span><span id="info2c">Nothing</span></div>
+    
+    <div id="chart2b" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+    
+    <p>The next example has the plot's 'captureRightClick' option set to true.  This causes the plot to fire a 'jqplotRightClick' event the the user clicks the right mouse button over a bar.  Here, the 'highlightMouseDown' option is also set to true.  This will highlight a slice on mouse down instead of on move over.  Highlighting will occur for either left or right click.</p>
+
+    <div><span>You Right Clicked: </span><span id="info3">Nothing yet</span></div>
+    
+    <div id="chart3" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+    
+    <div id="chart4" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+    
+    <div id="chart5" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+        
+<p>A pie chart is added to test for incompatibilities.</p>
+    <div id="chart6" style="margin-top:20px; margin-left:20px; width:300px; height:200px;"></div>
+<pre class="code brush:js"></pre>
+
+<p>The nex example shows the placement of point labels on negative bars. They shou be placed on the opposite position. That is, if it is placed 'north' to the positive bars, then it should be placed 'south' to the negative bars.</p>
+    <div id="chart7" style="margin-top:20px; margin-left:20px; width:300px; height:300px;"></div>
+<pre class="code brush:js"></pre>
+
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        $.jqplot.config.enablePlugins = true;
+        var s1 = [2, 6, 7, 10];
+        var ticks = ['a', 'b', 'c', 'd'];
+        
+        plot1 = $.jqplot('chart1', [s1], {
+            // Only animate if we're not using excanvas (not in IE 7 or IE 8)..
+            animate: !$.jqplot.use_excanvas,
+            seriesDefaults:{
+                renderer:$.jqplot.BarRenderer,
+                pointLabels: { show: true }
+            },
+            axes: {
+                xaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer,
+                    ticks: ticks
+                }
+            },
+            highlighter: { show: false }
+        });
+    
+        $('#chart1').bind('jqplotDataClick', 
+            function (ev, seriesIndex, pointIndex, data) {
+                $('#info1').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
+            }
+        );
+    });</script>
+    
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        var s1 = [2, 6, 7, 10];
+        var s2 = [7, 5, 3, 2];
+        var ticks = ['a', 'b', 'c', 'd'];
+        
+        plot2 = $.jqplot('chart2', [s1, s2], {
+            seriesDefaults: {
+                renderer:$.jqplot.BarRenderer,
+                pointLabels: { show: true }
+            },
+            axes: {
+                xaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer,
+                    ticks: ticks
+                }
+            }
+        });
+    
+        $('#chart2').bind('jqplotDataHighlight', 
+            function (ev, seriesIndex, pointIndex, data) {
+                $('#info2').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
+            }
+        );
+            
+        $('#chart2').bind('jqplotDataUnhighlight', 
+            function (ev) {
+                $('#info2').html('Nothing');
+            }
+        );
+    });</script>
+    
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        plot2b = $.jqplot('chart2b', [[[2,1], [4,2], [6,3], [3,4]], [[5,1], [1,2], [3,3], [4,4]], [[4,1], [7,2], [1,3], [2,4]]], {
+            seriesDefaults: {
+                renderer:$.jqplot.BarRenderer,
+                pointLabels: { show: true, location: 'e', edgeTolerance: -15 },
+                shadowAngle: 135,
+                rendererOptions: {
+                    barDirection: 'horizontal'
+                }
+            },
+            axes: {
+                yaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer
+                }
+            }
+        });
+    
+        $('#chart2b').bind('jqplotDataHighlight', 
+            function (ev, seriesIndex, pointIndex, data) {
+                $('#info2b').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data+ ', pageX: '+ev.pageX+', pageY: '+ev.pageY);
+            }
+        );    
+        $('#chart2b').bind('jqplotDataClick', 
+            function (ev, seriesIndex, pointIndex, data) {
+                $('#info2c').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data+ ', pageX: '+ev.pageX+', pageY: '+ev.pageY);
+            }
+        );
+            
+        $('#chart2b').bind('jqplotDataUnhighlight', 
+            function (ev) {
+                $('#info2b').html('Nothing');
+            }
+        );
+    });</script>
+    
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        var s1 = [2, 6, 7, 10];
+        var s2 = [7, 5, 3, 2];
+        var s3 = [14, 9, 3, 8];
+        plot3 = $.jqplot('chart3', [s1, s2, s3], {
+            stackSeries: true,
+            captureRightClick: true,
+            seriesDefaults:{
+                renderer:$.jqplot.BarRenderer,
+                rendererOptions: {
+                    highlightMouseDown: true    
+                },
+                pointLabels: {show: true}
+            },
+            legend: {
+                show: true,
+                location: 'e',
+                placement: 'outside'
+            }      
+        });
+    
+        $('#chart3').bind('jqplotDataRightClick', 
+            function (ev, seriesIndex, pointIndex, data) {
+                $('#info3').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
+            }
+        ); 
+    });</script>
+    
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        plot4 = $.jqplot('chart4', [[[2,1], [6,2], [7,3], [10,4]], [[7,1], [5,2],[3,3],[2,4]], [[14,1], [9,2], [9,3], [8,4]]], {
+            stackSeries: true,
+            captureRightClick: true,
+            seriesDefaults:{
+                renderer:$.jqplot.BarRenderer,
+                shadowAngle: 135,
+                rendererOptions: {
+                    barDirection: 'horizontal',
+                    highlightMouseDown: true    
+                },
+                pointLabels: {show: true, formatString: '%d'}
+            },
+            legend: {
+                show: true,
+                location: 'e',
+                placement: 'outside'
+            },
+            axes: {
+                yaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer
+                }
+            }
+        });
+    });</script>
+    
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        plot5 = $.jqplot('chart5', [[[2,1], [null,2], [7,3], [10,4]]], {
+            captureRightClick: true,
+            seriesDefaults:{
+                renderer:$.jqplot.BarRenderer,
+                shadowAngle: 135,
+                rendererOptions: {
+                    barDirection: 'horizontal',
+                    highlightMouseDown: true    
+                },
+                pointLabels: {show: true, formatString: '%d'}
+            },
+            legend: {
+                show: true,
+                location: 'e',
+                placement: 'outside'
+            },
+            axes: {
+                yaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer
+                }
+            }
+        });
+    });</script>
+
+  <script class="code" type="text/javascript">$(document).ready(function(){
+        plot6 = $.jqplot('chart6', [[1,2,3,4]], {seriesDefaults:{renderer:$.jqplot.PieRenderer}});
+    });</script> 
+
+    <script class="code" type="text/javascript">$(document).ready(function(){
+        var s1 = [2, -6, 7, -5];
+        var ticks = ['a', 'b', 'c', 'd'];
+
+        plot7 = $.jqplot('chart7', [s1], {
+            seriesDefaults:{
+                renderer:$.jqplot.BarRenderer,
+                rendererOptions: { fillToZero: true },
+                    pointLabels: { show: true }
+            },
+            axes: {
+                // yaxis: { autoscale: true },
+                xaxis: {
+                    renderer: $.jqplot.CategoryAxisRenderer,
+                    ticks: ticks
+                }
+            }
+        });
+    });</script> 
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/bezierCurve.php

+<?php 
+    $title = "Animated Charts";
+    // $plotTargets = array('chart1', 'chart2', 'chart3');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.BezierCurveRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+ <p>The Bezier curve renderer can distinguish between two different input data formats.  This first example has the data passed in as 2 data points, the second one defining the Bezier curve to the end point.  With this format, non-default axes renderers will require specifying the minimum and maximum on the axes.</p>
+<pre>
+    [[xstart, ystart], [cp1x, cp1y, cp2x, cp2y, xend, yend]];
+</pre>
+<div id="chart1" class='plot' style="margin-top:20px; margin-left:20px; width:400px; height:300px;"></div>
+<p>This second example has the data broken out into 4 points, which will be assembled to define the Bezier Curve.  With this format, any axes renderer can be used without explicitly specifying the minimum and maximum.</p>
+<pre>
+    [[xstart, ystart], [cp1x, cp1y], [cp2x, cp2y], [xend, yend]];
+</pre>
+<div id="chart2" class='plot' style="margin-top:20px; margin-left:20px; width:400px; height:300px;"></div>
+<p> Here is an example using a date axis renderer with Bezier curves.  The data looks like:</p>
+<pre>
+    [['01/01/2010', 6], ['02/01/2010', 9], ['03/01/2010', 8], ['04/01/2010', 3]]
+</pre>
+
+<div id="chart3" class='plot' style="margin-top:20px; margin-left:20px; width:400px; height:300px;"></div>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    
+    var line1 = [[0, 1], [2, 2, 4, .5, 6, 0]];
+    var line2 = [[0, 5], [2, 6, 5, 1, 6, .5]];
+    var line3 = [[0, 6], [3, 9, 4, 8, 6, 3]];
+    var line4 = [[0, 7], [2, 9, 4, 8, 6, 6]];
+    var line5 = [[0, 8], [3, 9, 4, 8, 6, 8]];
+
+    plot1 = $.jqplot("chart1", [line1,line2, line3, line4, line5], {
+           seriesDefaults: {renderer:$.jqplot.BezierCurveRenderer},
+           legend:{show:true}
+    });
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    
+    var s1 = [[0, 1], [2, 2], [4, .5], [6, 0]];
+    var s2 = [[0, 5], [2, 6], [5, 1], [6, .5]];
+    var s3 = [[0, 6], [3, 9], [4, 8], [6, 3]];
+    var s4 = [[0, 7], [2, 9], [4, 8], [6, 6]];
+    var s5 = [[0, 8], [3, 9], [4, 8], [6, 8]];
+
+    plot2 = $.jqplot("chart2", [s1,s2, s3, s4, s5], {
+           seriesDefaults: {renderer:$.jqplot.BezierCurveRenderer},
+           legend:{show:true}
+    });
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    
+    var s1 = [['01/01/2010', 1], ['02/01/2010', 2], ['03/01/2010', .5], ['04/01/2010', 0]];
+    var s2 = [['01/01/2010', 5], ['02/01/2010', 6], ['03/01/2010', 1], ['04/01/2010', .5]];
+    var s3 = [['01/01/2010', 6], ['02/01/2010', 9], ['03/01/2010', 8], ['04/01/2010', 3]];
+    var s4 = [['01/01/2010', 7], ['02/01/2010', 9], ['03/01/2010', 8], ['04/01/2010', 6]];
+    var s5 = [['01/01/2010', 8], ['02/01/2010', 9], ['03/01/2010', 8], ['04/01/2010', 8]];
+
+    plot3 = $.jqplot("chart3", [s1,s2, s3, s4, s5], {
+           seriesDefaults: {renderer:$.jqplot.BezierCurveRenderer},
+           axes:{xaxis:{renderer:$.jqplot.DateAxisRenderer, numberTicks:4}},
+           legend:{show:true}
+    });
+});
+</script>
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/blockPlot.php

+<?php 
+    $title = "Block Plots";
+    // $plotTargets = array('chart1', 'chart2', 'chart3');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.blockRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.enhancedLegendRenderer.js"></script>
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.pointLabels.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+ <p>Below is an example block plot.  This plot also uses the Enhanced Legend Renderer plugin.  Clicking on an item in the legend will toggle display of the appropriate series.</p>
+
+    <div id="chart1" class="plot" style="width:500px;height:300px;margin-bottom:30px;"></div>
+
+<p>Blocks can be moved by selecting the series, the point, and an optional duration parameter.  If specified, duration will animate the movement.  Duration is either a number in milliseconds, or the keywords 'fast' or 'slow'.  Higher numbers will cause a slower animation.</p>
+    Series: <select id="seriesId">
+        <option value="0" selected>First</option>
+        <option value="1">Second</option>
+        <option value="2">Third</option>
+    </select>
+    Point: <select id="pointId">
+        <option value="0" selected>first</option>
+        <option value="1">second</option>
+        <option value="2">third</option>
+        <option value="3">fourth</option>
+        <option value="4">fifth</option>
+        <option value="5">six</option>
+    </select>
+    Duration: <select id="duration">
+        <option value="" selected>None</option>
+        <option value="150">100</option>
+        <option value="fast">fast</option>
+        <option value="300">300</option>
+        <option value="300">400</option>
+        <option value="300">500</option>
+        <option value="slow">slow</option>
+        <option value="900">700</option>
+        <option value="900">800</option>
+        <option value="900">900</option>
+    </select>
+    X: <button id="mxval" type="button" value="-0.5" onclick="move('x', -1);">-1</button> <button id="pxval" type="button" value="-0.5" onclick="move('x', 0.5);">0.5</button>
+    Y: <button id="myval" type="button" name="myval" value="-10" onclick="move('y', -30);">-30</button> <button id="pyval" type="button" name="pyval" value="10" onclick="move('y', 15);">15</button>
+
+    <pre class="code brush:js"></pre>
+    
+    
+    <p>This second chart is like the first except the "varyBlockColors" renderer option is set to true.  This will vary the color of each block in a series separately.  This allows displaying a third dimension to the data such as grouping beverage products by producer and by category such as "cola", "tea", "energy drink", etc.</p>
+    
+    <p>Also, the legend has it's "showSwathces" option set to false, since the blocks of each series will be of varying color and won't correspond to one swatch color.  This still enables the user to show and hide the series by clicking on a label in the legend.</p>
+    
+    <div id="chart2" class="plot" style="width:500px;height:300px;margin-bottom:30px;"></div>
+
+
+<script class="code" language="javascript" type="text/javascript">
+$(document).ready(function(){
+
+    var s1 = [[0.9, 120, 'Vernors'], [1.8, 140, 'Fanta'], [3.2, 90, 'Barqs', {background:'#ddbb33'}], 
+    [4.1, 140, 'Arizon Iced Tea'], [4.5, 91, 'Red Bull'], [6.8, 17, 'Go Girl']];
+    var s2 = [[1.3, 44, 'Pepsi'], [2.1, 170, 'Sierra Mist'], [2.6, 66, 'Moutain Dew'], 
+    [4, 52, 'Sobe'], [5.4, 16, 'Amp'], [6, 48, 'Aquafina']];
+    var s3 = [[1, 59, 'Coca-Cola', {background:'rgb(250, 160, 160)'}], [2, 50, 'Ambasa'], 
+    [3, 90, 'Mello Yello'], [4, 90, 'Sprite'], [5, 71, 'Squirt'], [5, 155, 'Youki']];
+
+    var plot1 = $.jqplot('chart1',[s1, s2, s3],{
+        seriesDefaults:{
+            renderer:$.jqplot.BlockRenderer
+        }, 
+       legend:{
+           renderer: $.jqplot.EnhancedLegendRenderer,
+           show:true
+        },
+        series: [
+           {},
+           {rendererOptions: {
+               css:{background:'#A1EED6'}
+           }},
+           {rendererOptions: {
+               css:{background:'#D3E4A0'}
+           }}
+        ],
+        axes: {
+            xaxis: {
+                min:0,
+                max: 8
+            },
+            yaxis: {
+                min:0,
+                max: 200
+            }
+        }
+    });
+});
+</script>
+
+<script class="code" type="text/javascript">
+$(document).ready(function(){
+    var s1 = [[0.9, 120, 'Vernors'], [1.8, 140, 'Fanta'], [3.2, 90, 'Barqs'], 
+    [4.1, 140, 'Arizon Iced Tea'], [4.5, 91, 'Red Bull'], [6.8, 17, 'Go Girl']];
+    var s2 = [[1.3, 44, 'Pepsi'], [2.1, 170, 'Sierra Mist'], [2.6, 66, 'Moutain Dew'], 
+    [4, 52, 'Sobe'], [5.4, 16, 'Amp'], [6, 48, 'Aquafina']];
+    var s3 = [[1, 59, 'Coca-Cola'], [2, 50, 'Sprite'], [3, 90, 'Mello Yello'], 
+    [4, 90, 'Ambasa'], [5, 71, 'Squirt'], [5, 155, 'Youki']];
+
+
+    var plot2 = $.jqplot('chart2',[s1, s2, s3],{
+        seriesDefaults:{
+            renderer:$.jqplot.BlockRenderer,
+            rendererOptions: {
+                varyBlockColors: true
+            },
+            pointLabels:{
+                show: false
+            }
+        }, 
+       legend:{
+           renderer: $.jqplot.EnhancedLegendRenderer,
+           show:true,
+           showSwatches: false
+        },
+        series: [{label: 'Independent Brands'}, {label: 'Pepsi Brands'}, {label: 'Coke Brands'}],
+        axes: {
+            xaxis: {
+                min:0,
+                max: 8
+            },
+            yaxis: {
+                min:0,
+                max: 200
+            }
+        }
+    });
+   
+ });
+ 
+ function move(dir, val) {
+     val = parseFloat(val);
+     var sidx = parseInt($('#seriesId').val());
+     var pidx = parseInt($('#pointId').val());
+     var duration = $('#duration').val();
+     var x = plot1.series[sidx].data[pidx][0];
+     var y = plot1.series[sidx].data[pidx][1];
+     (dir == 'x') ? x += val : y += val; 
+     plot1.series[sidx].moveBlock(pidx, x, y, duration);
+ }
+ 
+</script>
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/bodyOpener.php

+   
+</head>
+<body>
+    <?php include "topbanner.html"; ?>
+
+    <div class="example-content">
+
+    <?php include "nav.php"; ?>
+
+    <?php
+        if (isset($plotTargets) and is_array($plotTargets)) {
+            foreach ($plotTargets as $pt) {
+
+                if (is_array($pt)) {
+                    $str = '<div class="example-plot" id="'.$pt['id'].'"';
+                    $width = (array_key_exists('width', $pt)) ? $pt['width'] : false;
+                    $height = (array_key_exists('height', $pt)) ? $pt['height'] : false;
+                    if ( $width or $height) {
+                        $str .=' style="';
+                        if ($width) {
+                            $str .='width: '.$width.'px;';
+                        }
+                        if ($height) {
+                            $str .=' height: '.$height.'px;';
+                        }
+                        $str .='"';
+                    }
+                    $str .='></div>';
+                    print "$str\n";
+                }
+
+                else {
+                    print '<div class="example-plot" id="'.$pt.'"'.'></div>';
+                }
+            } 
+        }
+    ?>

examples/bubbleChart.php

+<?php 
+    $title = "Bubble Charts";
+    // $plotTargets = array('chart1', 'chart2', 'chart3');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Additional plugins go here -->
+
+  <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.bubbleRenderer.js"></script>
+
+<!-- End additional plugins -->
+
+<!-- Example scripts go here -->
+
+  <style type="text/css">
+    .jqplot-target {
+        margin-bottom: 2em;
+    }
+    
+    .note {
+        font-size: 0.8em;
+    }
+    
+    #tooltip1b {
+        font-size: 12px;
+        color: rgb(15%, 15%, 15%);
+        padding:2px;
+        background-color: rgba(95%, 95%, 95%, 0.8);
+    }
+    
+    #legend1b {
+        font-size: 12px;
+        border: 1px solid #cdcdcd;
+        border-collapse: collapse;
+    }
+    #legend1b td, #legend1b th {
+        border: 1px solid #cdcdcd;
+        padding: 1px 4px;
+    }
+  </style>
+
+ 
+ <p>Bubble charts represent 3 dimensional data.  Data is passed in to a bubble chart as a series of [x, y, radius, &lt;label or object&gt;].  The optional fourth element of the data point can either be either a label string or an object having 'label' and/or 'color' properties to assign to the bubble.</p>
+
+<p>By default, all bubbles are scaled according to the size of the plot area.  The radius value in the data point will be adjusted to fit the bubbles in the chart.  If the "autoscaleBubbles" option is set to false, the radius value in the data will be taken as a literal pixel value for the radius of the points.</p>
+
+<p>The below chart show basic customization of bubble appearance with the "bubbleAlpha" and "highlightAlpha" options.</p>
+
+<div id="chart1" class="plot" style="width:460px;height:340px;"></div>
+<pre class="code brush:js"></pre>
+
+<div style="position:absolute;z-index:99;display:none;" id="tooltip1b"></div>
+
+<table><tr>
+    <td><div id="chart1b" class="plot" style="width:460px;height:340px;"></div></td>
+    <td><div style="height:340px;"><table id="legend1b"><tr><th>Company</th><th>R Value</th></tr></table></div></td>
+</tr></table>
+<pre class="code brush:js"></pre>
+
+<p>Below is a basic bubble chart showing usage of the optional label and color properties passed in with the data.</p>
+
+<div id="chart1c" class="plot" style="width:460px;height:340px;"></div>
+<pre class="code brush:js"></pre>
+
+<p>The next chart uses the "bubbleGradients: true" option to specify gradient fills on the bubbles.  Radial gradients are not supported in IE<sup>*</sup> and will be automatically disabled.</p>  
+
+<div id="chart2" class="plot" style="width:460px;height:340px;"></div>
+
+<p class="note"><sup>*</sup>Radial gradients are not supported in IE 7 and IE 8 because they are not supported in the excanvas emulation layer used by jqPlot to render charts in IE 7 and IE 8.  jqPlot renders charts using the HTML canvas element which is supported by nearly every browser including IE 9.  Excanvas translates the canvas rendering to VML rendering for IE 7 and 8, but unfortunately does not properly handle radial gradients.</p>
+
+<pre class="code brush:js"></pre>
+
+<p>The following bubble chart shows the "autoscalePointsFactor" and "autoscaleMultiplier" options which can be used to control bubble scaling.  The "autoscalePointsFactor" options controls bubble scaling with the number of points on the plot.  A negative value will decrease bubble size and number of bubbles increases.  The "autoscaleMultiplier" will makes all bubbles larger or smaller for values greater  or less than 1.0.</p>
+
+<p>This chart also demonstrates some of the highlighting options.  Bubble highlighting is controlled with the "highlightMouseOver" and "highlightMouseDown" boolean options.  Here the "highlightMouseDown: true" option is set which causes the plot to highlight on mousedown (click).  This automatically sets the "highlightMouseOver" option to false.</p>
+
+<p>Events are also trigger with plot interaction.  Specifically, "jqplotDataHighlight", "jqplotDataUnhighlight", "jqplotDataClick" and "jqplotDataRightClick" events are triggered.  Handlers are passed an event object, the series index, the point index, and the bubble data.</p>
+
+<div id="chart3" class="plot" style="width:600px;height:400px;"></div>
+<pre class="code brush:js"></pre>
+
+<script class="code" language="javascript" type="text/javascript">$(document).ready(function(){
+    
+    var arr = [[11, 123, 1236, "Acura"], [45, 92, 1067, "Alfa Romeo"], 
+    [24, 104, 1176, "AM General"], [50, 23, 610, "Aston Martin Lagonda"], 
+    [18, 17, 539, "Audi"], [7, 89, 864, "BMW"], [2, 13, 1026, "Bugatti"]];
+    
+    plot1 = $.jqplot('chart1',[arr],{
+        title: 'Transparent Bubbles',
+        seriesDefaults:{
+            renderer: $.jqplot.BubbleRenderer,
+            rendererOptions: {
+                bubbleAlpha: 0.6,
+                highlightAlpha: 0.8
+            },
+            shadow: true,
+            shadowAlpha: 0.05
+        }
+    });    
+});</script>
+
+<script class="code" language="javascript" type="text/javascript">$(document).ready(function(){
+    
+    var arr = [[11, 123, 1236, "Acura"], [45, 92, 1067, "Alfa Romeo"], 
+    [24, 104, 1176, "AM General"], [50, 23, 610, "Aston Martin Lagonda"], 
+    [18, 17, 539, "Audi"], [7, 89, 864, "BMW"], [2, 13, 1026, "Bugatti"]];
+    
+    plot1b = $.jqplot('chart1b',[arr],{
+        title: 'Tooltip and Custom Legend Highlighting',
+        seriesDefaults:{
+            renderer: $.jqplot.BubbleRenderer,
+            rendererOptions: {
+                bubbleAlpha: 0.6,
+                highlightAlpha: 0.8,
+                showLabels: false
+            },
+            shadow: true,
+            shadowAlpha: 0.05
+        }
+    });
+    
+    // Legend is a simple table in the html.
+    // Now populate it with the labels from each data value.
+    $.each(arr, function(index, val) {
+        $('#legend1b').append('<tr><td>'+val[3]+'</td><td>'+val[2]+'</td></tr>');
+    });
+    
+    // Now bind function to the highlight event to show the tooltip
+    // and highlight the row in the legend. 
+    $('#chart1b').bind('jqplotDataHighlight', 
+        function (ev, seriesIndex, pointIndex, data, radius) {    
+            var chart_left = $('#chart1b').offset().left,
+                chart_top = $('#chart1b').offset().top,
+                x = plot1b.axes.xaxis.u2p(data[0]),  // convert x axis unita to pixels on grid
+                y = plot1b.axes.yaxis.u2p(data[1]);  // convert y axis units to pixels on grid
+            var color = 'rgb(50%,50%,100%)';
+            $('#tooltip1b').css({left:chart_left+x+radius+5, top:chart_top+y});
+            $('#tooltip1b').html('<span style="font-size:14px;font-weight:bold;color:'+color+';">' + 
+            data[3] + '</span><br />' + 'x: '+data[0] + '<br />' + 'y: ' + 
+            data[1] + '<br />' + 'r: ' + data[2]);
+            $('#tooltip1b').show();
+            $('#legend1b tr').css('background-color', '#ffffff');
+            $('#legend1b tr').eq(pointIndex+1).css('background-color', color);
+        });
+    
+    // Bind a function to the unhighlight event to clean up after highlighting.
+    $('#chart1b').bind('jqplotDataUnhighlight', 
+        function (ev, seriesIndex, pointIndex, data) {
+            $('#tooltip1b').empty();
+            $('#tooltip1b').hide();
+            $('#legend1b tr').css('background-color', '#ffffff');
+        });
+});</script>
+
+<script class="code" language="javascript" type="text/javascript">$(document).ready(function(){
+    
+    var arr = [[11, 123, 1236, {label:"Acura", color:'sandybrown'}], 
+    [45, 92, 1067, {label:"Alfa Romeo", color:'skyblue'}], 
+    [24, 104, 1176, {label:"AM General", color:"salmon"}], [50, 23, 610, {color:"papayawhip"}], 
+    [18, 17, 539, "Audi"], [7, 89, 864], [2, 13, 1026, "Bugatti"]];
+    
+    plot1c = $.jqplot('chart1c',[arr],{
+        title: 'Bubble Data Customizations',
+        seriesDefaults:{
+            renderer: $.jqplot.BubbleRenderer
+        }
+    });
+    
+});</script>
+
+<script class="code" language="javascript" type="text/javascript">$(document).ready(function(){
+
+    var arr = [[11, 123, 1236, "Acura"], [45, 92, 1067, "Alfa Romeo"], 
+    [24, 104, 1176, "AM General"], [50, 23, 610, "Aston Martin Lagonda"], 
+    [18, 17, 539, "Audi"], [7, 89, 864, "BMW"], [2, 13, 1026, "Bugatti"]];
+    
+    plot2 = $.jqplot('chart2',[arr],{
+        title: 'Bubble Gradient Fills*',
+        seriesDefaults:{
+            renderer: $.jqplot.BubbleRenderer,
+            rendererOptions: {
+                bubbleGradients: true
+            },
+            shadow: true
+        }
+    });
+    
+});</script>
+
+<script class="code" language="javascript" type="text/javascript">$(document).ready(function(){
+    
+    var arr = [[44, 66, 897, "Acura"], [25, 40, 1119, "Alfa Romeo"], [2, 33, 1197, "AM General"], 
+    [4, 132, 896, "Aston Martin Lagonda"], [2, 129, 314, "Audi"], [14, 47, 612, "BMW"], 
+    [45, 112, 719, "Bugatti"], [11, 38, 785, "Buick"], [15, 39, 367, "Cadillac"], 
+    [6, 133, 726, "Chevrolet"], [48, 84, 1082, "Citroen"], [40, 18, 1047, "DaimlerChrysler Corporation"], 
+    [24, 107, 1065, "Daewoo Motor Co."], [27, 92, 792, "Delorean Motor Company"], [1, 78, 803, "Dodge"], 
+    [5, 149, 320, "Ferrari"], [11, 127, 497, "Fiat"], [14, 18, 805, "Ford Motor Company"], 
+    [9, 101, 394, "General Motors"], [16, 57, 338, "GMC"], [19, 89, 977, "Holden"], 
+    [35, 78, 464, "Honda"], [18, 130, 364, "Hummer"], [37, 20, 699, "Hyundai"], 
+    [33, 140, 457, "Infiniti"], [12, 122, 533, "Isuzu"], [25, 67, 767, "Jaguar Cars"], 
+    [0, 7, 481, "Jeep"], [38, 36, 611, "Jensen Motors"], [43, 91, 943, "Kia"], [45, 21, 569, "Laforza"]];
+    
+    plot3 = $.jqplot('chart3',[arr],{
+        title: 'Bubble Auto Scaling Options',
+        seriesDefaults:{
+            renderer: $.jqplot.BubbleRenderer,
+            rendererOptions: {
+                autoscalePointsFactor: -0.15,
+                autoscaleMultiplier: 0.85,
+                highlightMouseDown: true,
+                bubbleAlpha: 0.7
+            },
+            shadow: true,
+            shadowAlpha: 0.05
+        }
+    });
+    
+});</script>
+
+
+<!-- End example scripts -->
+
+<?php include "closer.html"; ?>

examples/candlestick.php

+<?php 
+    $title = "Candlestick and Open Hi Low Close charts";
+    // $plotTargets = array('chart1', 'chart2', 'chart3');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Example scripts go here -->
+
+<div id="chart1" class="code" style="margin:20px;height:240px; width:640px;"></div>
+<pre class="code brush:js"></pre>
+<div id="chart2" class="code" style="margin:20px;height:240px; width:640px;"></div>
+<pre class="code brush:js"></pre>
+<div id="chart2b" class="code" style="margin:20px;height:240px; width:640px;"></div>
+<pre class="code brush:js"></pre>
+<div id="chart3" class="code" style="margin:20px;height:240px; width:640px;"></div>
+<pre class="code brush:js"></pre>
+<div id="chart4" class="code" style="margin:20px;height:320px; width:500px;"></div>
+<pre class="code brush:js"></pre>
+<p>The examples on this page use the folowing code:</p>
+<pre class="common brush:js"></pre>
+
+<script class="common" type="text/javascript">
+    $.jqplot.config.enablePlugins = true;
+    
+    ohlc = [['07/06/2009', 138.7, 139.68, 135.18, 135.4],
+    ['06/29/2009', 143.46, 144.66, 139.79, 140.02],
+    ['06/22/2009', 140.67, 143.56, 132.88, 142.44],
+    ['06/15/2009', 136.01, 139.5, 134.53, 139.48],
+    ['06/08/2009', 143.82, 144.56, 136.04, 136.97],
+    ['06/01/2009', 136.47, 146.4, 136, 144.67],
+    ['05/26/2009', 124.76, 135.9, 124.55, 135.81],
+    ['05/18/2009', 123.73, 129.31, 121.57, 122.5],
+    ['05/11/2009', 127.37, 130.96, 119.38, 122.42],
+    ['05/04/2009', 128.24, 133.5, 126.26, 129.19],
+    ['04/27/2009', 122.9, 127.95, 122.66, 127.24],
+    ['04/20/2009', 121.73, 127.2, 118.6, 123.9],
+    ['04/13/2009', 120.01, 124.25, 115.76, 123.42],
+    ['04/06/2009', 114.94, 120, 113.28, 119.57],
+    ['03/30/2009', 104.51, 116.13, 102.61, 115.99],
+    ['03/23/2009', 102.71, 109.98, 101.75, 106.85],
+    ['03/16/2009', 96.53, 103.48, 94.18, 101.59],
+    ['03/09/2009', 84.18, 97.2, 82.57, 95.93],
+    ['03/02/2009', 88.12, 92.77, 82.33, 85.3],
+    ['02/23/2009', 91.65, 92.92, 86.51, 89.31],
+    ['02/17/2009', 96.87, 97.04, 89, 91.2],
+    ['02/09/2009', 100, 103, 95.77, 99.16],
+    ['02/02/2009', 89.1, 100, 88.9, 99.72],
+    ['01/26/2009', 88.86, 95, 88.3, 90.13],
+    ['01/20/2009', 81.93, 90, 78.2, 88.36],
+    ['01/12/2009', 90.46, 90.99, 80.05, 82.33],
+    ['01/05/2009', 93.17, 97.17, 90.04, 90.58],
+    ['12/29/2008', 86.52, 91.04, 84.72, 90.75],
+    ['12/22/2008', 90.02, 90.03, 84.55, 85.81],
+    ['12/15/2008', 95.99, 96.48, 88.02, 90],
+    ['12/08/2008', 97.28, 103.6, 92.53, 98.27],
+    ['12/01/2008', 91.3, 96.23, 86.5, 94],
+    ['11/24/2008', 85.21, 95.25, 84.84, 92.67],
+    ['11/17/2008', 88.48, 91.58, 79.14, 82.58],    
+    ['11/10/2008', 100.17, 100.4, 86.02, 90.24],
+    ['11/03/2008', 105.93, 111.79, 95.72, 98.24],
+    ['10/27/2008', 95.07, 112.19, 91.86, 107.59],
+    ['10/20/2008', 99.78, 101.25, 90.11, 96.38],
+    ['10/13/2008', 104.55, 116.4, 85.89, 97.4],
+    ['10/06/2008', 91.96, 101.5, 85, 96.8],
+    ['09/29/2008', 119.62, 119.68, 94.65, 97.07],
+    ['09/22/2008', 139.94, 140.25, 123, 128.24],
+    ['09/15/2008', 142.03, 147.69, 120.68, 140.91],
+    ['09/08/2008', 164.57, 164.89, 146, 148.94]
+    ];
+    
+    ohlc_b = [['07/06/2009', 138.7, 139.68, 135.18, 135.4, 'j'],
+    ['06/29/2009', 143.46, 144.66, 139.79, 140.02, 'q'],
+    ['06/22/2009', 140.67, 143.56, 132.88, 142.44, 'p'],
+    ['06/15/2009', 136.01, 139.5, 134.53, 139.48, 'l'],
+    ['06/08/2009', 143.82, 144.56, 136.04, 136.97, 'o'],
+    ['06/01/2009', 136.47, 146.4, 136, 144.67, 't'],
+    ['05/26/2009', 124.76, 135.9, 124.55, 135.81, '_'],
+    ['05/18/2009', 123.73, 129.31, 121.57, 122.5, 'c'],
+    ['05/11/2009', 127.37, 130.96, 119.38, 122.42, 'h'],
+    ['05/04/2009', 128.24, 133.5, 126.26, 129.19, 'a'],
+    ['04/27/2009', 122.9, 127.95, 122.66, 127.24, 'r'],
+    ['04/20/2009', 121.73, 127.2, 118.6, 123.9, 't'],
+    ['04/13/2009', 120.01, 124.25, 115.76, 123.42, 's']
+    ];     
+    
+    hlc = [['07/06/2009', 139.68, 135.18, 135.4],
+    ['06/29/2009', 144.66, 139.79, 140.02],
+    ['06/22/2009', 143.56, 132.88, 142.44],
+    ['06/15/2009', 139.5, 134.53, 139.48],
+    ['06/08/2009', 144.56, 136.04, 136.97],
+    ['06/01/2009', 146.4, 136, 144.67],
+    ['05/26/2009', 135.9, 124.55, 135.81],
+    ['05/18/2009', 129.31, 121.57, 122.5],
+    ['05/11/2009', 130.96, 119.38, 122.42],
+    ['05/04/2009', 133.5, 126.26, 129.19],
+    ['04/27/2009', 127.95, 122.66, 127.24],
+    ['04/20/2009', 127.2, 118.6, 123.9],
+    ['04/13/2009', 124.25, 115.76, 123.42],
+    ['04/06/2009', 120, 113.28, 119.57],
+    ['03/30/2009', 116.13, 102.61, 115.99],
+    ['03/23/2009',  109.98, 101.75, 106.85],
+    ['03/16/2009', 103.48, 94.18, 101.59],
+    ['03/09/2009', 97.2, 82.57, 95.93],
+    ['03/02/2009', 92.77, 82.33, 85.3],
+    ['02/23/2009', 92.92, 86.51, 89.31],
+    ['02/17/2009', 97.04, 89, 91.2],
+    ['02/09/2009', 103, 95.77, 99.16],
+    ['02/02/2009', 100, 88.9, 99.72],
+    ['01/26/2009', 95, 88.3, 90.13],
+    ['01/20/2009', 90, 78.2, 88.36],
+    ['01/12/2009', 90.99, 80.05, 82.33],
+    ['01/05/2009', 97.17, 90.04, 90.58],
+    ['12/29/2008', 91.04, 84.72, 90.75],
+    ['12/22/2008', 90.03, 84.55, 85.81],
+    ['12/15/2008', 96.48, 88.02, 90],
+    ['12/08/2008', 103.6, 92.53, 98.27],
+    ['12/01/2008', 96.23, 86.5, 94],
+    ['11/24/2008', 95.25, 84.84, 92.67],
+    ['11/17/2008', 91.58, 79.14, 82.58],  
+    ['11/10/2008', 100.4, 86.02, 90.24],
+    ['11/03/2008', 111.79, 95.72, 98.24],
+    ['10/27/2008', 112.19, 91.86, 107.59],
+    ['10/20/2008', 101.25, 90.11, 96.38],
+    ['10/13/2008', 116.4, 85.89, 97.4],
+    ['10/06/2008', 101.5, 85, 96.8],
+    ['09/29/2008', 119.68, 94.65, 97.07],
+    ['09/22/2008', 140.25, 123, 128.24],
+    ['09/15/2008', 147.69, 120.68, 140.91],
+    ['09/08/2008', 164.89, 146, 148.94]
+    ];
+    
+</script>
+
+<script class="code" type="text/javascript">$(document).ready(function(){       
+    plot1 = $.jqplot('chart1',[ohlc],{
+      title: 'Chart',
+      axesDefaults:{},
+      axes: {
+          xaxis: {
+              renderer:$.jqplot.DateAxisRenderer
+          },
+          yaxis: {
+              tickOptions:{ prefix: '$' }
+          }
+      },
+      series: [{renderer:$.jqplot.OHLCRenderer, rendererOptions:{}}],
+      cursor:{
+          zoom:true,
+          tooltipOffset: 10,
+          tooltipLocation: 'nw'
+      }
+    });
+});</script>
+
+<script class="code" type="text/javascript">$(document).ready(function(){  
+    plot2 = $.jqplot('chart2',[ohlc],{
+      title: 'Chart',
+      axesDefaults:{},
+      axes: {
+          xaxis: {
+              renderer:$.jqplot.DateAxisRenderer
+          },
+          yaxis: {
+              tickOptions:{ prefix: '$' }
+          }
+      },
+      series: [{renderer:$.jqplot.OHLCRenderer, rendererOptions:{candleStick:true}}],
+      cursor:{
+          zoom:true,
+          tooltipOffset: 10,
+          tooltipLocation: 'nw'
+      },
+      highlighter: {
+          showMarker:false,
+          tooltipAxes: 'xy',
+          yvalues: 4,
+          formatString:'<table class="jqplot-highlighter"> \
+          <tr><td>date:</td><td>%s</td></tr> \
+          <tr><td>open:</td><td>%s</td></tr> \
+          <tr><td>hi:</td><td>%s</td></tr> \
+          <tr><td>low:</td><td>%s</td></tr> \
+          <tr><td>close:</td><td>%s</td></tr></table>'
+      }
+    });
+});</script>
+
+<script class="code" type="text/javascript">$(document).ready(function(){  
+    plot2b = $.jqplot('chart2b',[ohlc_b],{
+      title: 'Chart',
+      axesDefaults:{},
+      axes: {
+          xaxis: {
+              renderer:$.jqplot.DateAxisRenderer
+          },
+          yaxis: {
+              tickOptions:{ prefix: '$' }
+          }
+      },
+      series: [{renderer:$.jqplot.OHLCRenderer, rendererOptions:{candleStick:true}}],
+      cursor:{
+          zoom:false,
+          tooltipOffset: 10,
+          tooltipLocation: 'nw'
+      },
+      highlighter: {
+          showMarker:false,
+          tooltipAxes: 'xy',
+          yvalues: 5,
+          formatString:'<table class="jqplot-highlighter"> \
+          <tr><td>date:</td><td>%s</td></tr> \
+          <tr><td>open:</td><td>%s</td></tr> \
+          <tr><td>hi:</td><td>%s</td></tr> \
+          <tr><td>low:</td><td>%s</td></tr> \
+          <tr><td>close:</td><td>%s</td></tr> \
+          <tr><td>letter:</td><td>%s</td></tr></table>'
+      }
+    });
+});</script>
+
+<script class="code" type="text/javascript">$(document).ready(function(){ 
+    plot3 = $.jqplot('chart3',[hlc],{
+      title: 'Chart',
+      axesDefaults:{},
+      axes: {
+          xaxis: {
+              renderer:$.jqplot.DateAxisRenderer
+          },
+          yaxis: {
+              tickOptions:{ prefix: '$' }
+          }
+      },
+      series: [{renderer:$.jqplot.OHLCRenderer, rendererOptions:{}}],
+      cursor:{
+          zoom:true,
+          tooltipOffset: 10,
+          tooltipLocation: 'nw'
+      }
+    });
+});</script>
+
+<script class="code" type="text/javascript">$(document).ready(function(){ 
+    var catOHLC = [[1, 138.7, 139.68, 135.18, 135.4],
+    [2, 143.46, 144.66, 139.79, 140.02],
+    [3, 140.67, 143.56, 132.88, 142.44],
+    [4, 136.01, 139.5, 134.53, 139.48],
+    [5, 143.82, 144.56, 136.04, 136.97],
+    [6, 136.47, 146.4, 136, 144.67],
+    [7, 124.76, 135.9, 124.55, 135.81],
+    [8, 123.73, 129.31, 121.57, 122.5]];
+    
+    var ticks = ['Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon', 'Tue'];
+        
+    plot4 = $.jqplot('chart4',[catOHLC],{
+      axes: {
+          xaxis: {
+              renderer:$.jqplot.CategoryAxisRenderer,
+              ticks:ticks
+          },
+          yaxis: {
+              tickOptions:{ prefix: '$' }
+          }
+      },
+      series: [{renderer:$.jqplot.OHLCRenderer, rendererOptions:{candleStick:true}}]
+    });
+});</script>
+
+<!-- End example scripts -->
+
+<!-- Additional plugins go here -->
+
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.categoryAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.ohlcRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.highlighter.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.cursor.js"></script>
+
+<!-- End additional plugins -->
+
+<?php include "closer.html"; ?>

examples/closer.html

+
+	</div>	
+	<script type="text/javascript" src="example.js"></script>
+
+</body>
+
+
+</html>

examples/commonScripts.html

+    <script class="include" type="text/javascript" src="../src/jquery.js"></script>
+    <script class="include" type="text/javascript" src="../src/jquery.jqplot.js"></script>
+    <script type="text/javascript" src="syntaxhighlighter/scripts/shCore.js"></script>
+    <script type="text/javascript" src="syntaxhighlighter/scripts/shBrushJScript.js"></script>
+    <script type="text/javascript" src="syntaxhighlighter/scripts/shBrushXml.js"></script>

examples/customHighlighterCursorTrendline.php

+<?php 
+    $title = "Candlestick and Open Hi Low Close charts";
+    $plotTargets = array('chart1');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Example scripts go here -->
+
+  <script class="code" type="text/javascript">
+
+    $(document).ready(function () {
+
+      $.jqplot.config.enablePlugins = true;
+
+      s1 = [['23-May-08',1],['24-May-08',4],['25-May-08',2],['26-May-08', 6]];
+
+      plot1 = $.jqplot('chart1',[s1],{
+         title: 'Highlighting, Dragging, Cursor and Trend Line',
+         axes: {
+             xaxis: {
+                 renderer: $.jqplot.DateAxisRenderer,
+                 tickOptions: {
+                     formatString: '%#m/%#d/%y'
+                 },
+                 numberTicks: 4
+             },
+             yaxis: {
+                 tickOptions: {
+                     formatString: '$%.2f'
+                 }
+             }
+         },
+         highlighter: {
+             sizeAdjust: 10,
+             tooltipLocation: 'n',
+             tooltipAxes: 'y',
+             tooltipFormatString: '<b><i><span style="color:red;">hello</span></i></b> %.2f',
+             useAxesFormatters: false
+         },
+         cursor: {
+             show: true
+         }
+      });
+    });
+</script>
+
+<!-- End example scripts -->
+
+<!-- Additional plugins go here -->
+
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.barRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.categoryAxisRenderer.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.cursor.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.highlighter.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.dragable.js"></script>
+    <script language="javascript" type="text/javascript" src="../src/plugins/jqplot.trendline.js"></script> 
+
+<!-- End additional plugins -->
+
+<?php include "closer.html"; ?>

examples/dateAxisLogAxisZooming.php

+<?php 
+    $title = "Zooming with Date and Log Axes";
+    $plotTargets = array (array('id'=>'chart1', 'width'=>700, 'height'=>400));
+?>
+<?php include "opener.php"; ?>
+
+<!-- Example scripts go here -->
+
+<script type="text/javascript" src="yahooData.js" ></script>
+
+<script type="text/javascript" class="code">
+$(document).ready(function(){
+    plot1 = $.jqplot('chart1', [yahoo], { 
+        series: [{ 
+            renderer: $.jqplot.OHLCRenderer,
+            rendererOptions: {
+                candleStick: true
+            } 
+        }], 
+        axes: { 
+            xaxis: { 
+                renderer:$.jqplot.DateAxisRenderer,
+                rendererOptions: {
+                    tickInset: 0
+                },
+                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
+                tickOptions: {
+                  angle: -30,
+                  // formatString: '%#m-%#d %H:%M'
+                } 
+                // min:'August 1, 2007', 
+                // tickInterval: '4 months', 
+                // tickOptions:{formatString:'%Y/%#m/%#d'} 
+            }, 
+            yaxis: {  
+                renderer: $.jqplot.LogAxisRenderer,
+                tickOptions:{ prefix: '$' } 
+            } 
+        }, 
+        cursor:{
+            show: true, 
+            zoom: true
+        } 
+    });
+});
+</script>
+
+<!-- End example scripts -->
+
+<!-- Additional plugins go here -->
+
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.dateAxisRenderer.js"></script>
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.logAxisRenderer.js"></script>
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.canvasTextRenderer.js"></script>
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.canvasAxisTickRenderer.js"></script>
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.ohlcRenderer.js"></script>
+    <script class="include" type="text/javascript" src="../src/plugins/jqplot.cursor.js"></script>
+
+<!-- End additional plugins -->
+
+<?php include "closer.html"; ?>

examples/dateAxisRenderer.php

+<?php 
+    $title = "Candlestick and Open Hi Low Close charts";
+    // $plotTargets = array('chart1');
+?>
+<?php include "opener.php"; ?>
+
+<!-- Example scripts go here -->
+
+<p class="text">Date axis renderer with default settings.  Ticks are given wider spacing by default since date axes typically have longer tick labels.</p>
+<div id="chart1" style="margin:20px;height:240px; width:640px;"></div>
+<p class="text">Date axis recognizes rotated tick labels.  It will space ticks a little closer when labels are rotated.</p>
+<div id="chart2" style="margin:20px;height:240px; width:640px;"></div>
+<p class="text">If you want more or less ticks, specify the "numberTicks" options.  Date axes will try to produce the desired number of ticks, but may adjust to get a nice interval.</p>
+<div id="chart3" style="margin:20px;height:240px; width:640px;"></div>
+
+<script type="text/javascript">
+    var ohlc = [['07/06/09', 138.7, 139.68, 135.18, 135.4],
+    ['06/29/09', 143.46, 144.66, 139.79, 140.02],
+    ['06/22/09', 140.67, 143.56, 132.88, 142.44],
+    ['06/15/09', 136.01, 139.5, 134.53, 139.48],
+    ['06/08/09', 143.82, 144.56, 136.04, 136.97],
+    ['06/01/09', 136.47, 146.4, 136, 144.67],
+    ['05/26/09', 124.76, 135.9, 124.55, 135.81],
+    ['05/18/09', 123.73, 129.31, 121.57, 122.5],
+    ['05/11/09', 127.37, 130.96, 119.38, 122.42],
+    ['05/04/09', 128.24, 133.5, 126.26, 129.19],
+    ['04/27/09', 122.9, 127.95, 122.66, 127.24],
+    ['04/20/09', 121.73, 127.2, 118.6, 123.9],
+    ['04/13/09', 120.01, 124.25, 115.76, 123.42],
+    ['04/06/09', 114.94, 120, 113.28, 119.57],
+    ['03/30/09', 104.51, 116.13, 102.61, 115.99],
+    ['03/23/09', 102.71, 109.98, 101.75, 106.85],
+    ['03/16/09', 96.53, 103.48, 94.18, 101.59],
+    ['03/09/09', 84.18, 97.2, 82.57, 95.93],
+    ['03/02/09', 88.12, 92.77, 82.33, 85.3],
+    ['02/23/09', 91.65, 92.92, 86.51, 89.31],
+    ['02/17/09', 96.87, 97.04, 89, 91.2],
+    ['02/09/09', 100, 103, 95.77, 99.16],
+    ['02/02/09', 89.1, 100, 88.9, 99.72],
+    ['01/26/09', 88.86, 95, 88.3, 90.13],
+    ['01/20/09', 81.93, 90, 78.2, 88.36],
+    ['01/12/09', 90.46, 90.99, 80.05, 82.33],
+    ['01/05/09', 93.17, 97.17, 90.04, 90.58],
+    ['12/29/08', 86.52, 91.04, 84.72, 90.75],
+    ['12/22/08', 90.02, 90.03, 84.55, 85.81],
+    ['12/15/08', 95.99, 96.48, 88.02, 90],
+    ['12/08/08', 97.28, 103.6, 92.53, 98.27],
+    ['12/01/08', 91.3, 96.23, 86.5, 94],
+    ['11/24/08', 85.21, 95.25, 84.84, 92.67],
+    ['11/17/08', 88.48, 91.58, 79.14, 82.58],    
+    ['11/10/08', 100.17, 100.4, 86.02, 90.24],
+    ['11/03/08', 105.93, 111.79, 95.72, 98.24],
+    ['10/27/08', 95.07, 112.19, 91.86, 107.59],
+    ['10/20/08', 99.78, 101.25, 90.11, 96.38],
+    ['10/13/08', 104.55, 116.4, 85.89, 97.4],
+    ['10/06/08', 91.96, 101.5, 85, 96.8],
+    ['09/29/08', 119.62, 119.68, 94.65, 97.07],
+    ['09/22/08', 139.94, 140.25, 123, 128.24],
+    ['09/15/08', 142.03, 147.69, 120.68, 140.91],
+    ['09/08/08', 164.57, 164.89, 146, 148.94]
+    ];
+     
+    var hlc = [['07/06/09', 139.68, 135.18, 135.4],
+    ['06/29/09', 144.66, 139.79, 140.02],
+    ['06/22/09', 143.56, 132.88, 142.44],
+    ['06/15/09', 139.5, 134.53, 139.48],
+    ['06/08/09', 144.56, 136.04, 136.97],
+    ['06/01/09', 146.4, 136, 144.67],
+    ['05/26/09', 135.9, 124.55, 135.81],
+    ['05/18/09', 129.31, 121.57, 122.5],
+    ['05/11/09', 130.96, 119.38, 122.42],
+    ['05/04/09', 133.5, 126.26, 129.19],
+    ['04/27/09', 127.95, 122.66, 127.24],
+    ['04/20/09', 127.2, 118.6, 123.9],
+    ['04/13/09', 124.25, 115.76, 123.42],
+    ['04/06/09', 120, 113.28, 119.57],
+    ['03/30/09', 116.13, 102.61, 115.99],
+    ['03/23/09',  109.98, 101.75, 106.85],
+    ['03/16/09', 103.48, 94.18, 101.59],
+    ['03/09/09', 97.2, 82.57, 95.93],
+    ['03/02/09', 92.77, 82.33, 85.3],
+    ['02/23/09', 92.92, 86.51, 89.31],
+    ['02/17/09', 97.04, 89, 91.2],
+    ['02/09/09', 103, 95.77, 99.16],
+    ['02/02/09', 100, 88.9, 99.72],
+    ['01/26/09', 95, 88.3, 90.13],
+    ['01/20/09', 90, 78.2, 88.36],
+    ['01/12/09', 90.99, 80.05, 82.33],
+    ['01/05/09', 97.17, 90.04, 90.58],
+    ['12/29/08', 91.04, 84.72, 90.75],
+    ['12/22/08', 90.03, 84.55, 85.81],
+    ['12/15/08', 96.48, 88.02, 90],
+    ['12/08/08', 103.6, 92.53, 98.27],
+    ['12/01/08', 96.23, 86.5, 94],
+    ['11/24/08', 95.25, 84.84, 92.67],
+    ['11/17/08', 91.58, 79.14, 82.58],  
+    ['11/10/08', 100.4, 86.02, 90.24],
+    ['11/03/08', 111.79, 95.72, 98.24],
<