[11222] | 1 | Title: jqPlot Usage |
---|
| 2 | |
---|
| 3 | Usage Documentation: |
---|
| 4 | |
---|
| 5 | Introduction: |
---|
| 6 | |
---|
| 7 | jqPlot is a jQuery plugin to generate pure client-side javascript charts in your web pages. |
---|
| 8 | |
---|
| 9 | The jqPlot home page is at <http://www.jqplot.com/>. |
---|
| 10 | |
---|
| 11 | The project page and downloads are at <http://www.bitbucket.org/cleonello/jqplot/>. |
---|
| 12 | |
---|
| 13 | Below are a few examples to demonstrate jqPlot usage. These plots are shown as static images. |
---|
| 14 | Many more examples of dynamically rendered plots can be seen on the test and examples pages here: <../../tests/>. |
---|
| 15 | |
---|
| 16 | Include the Files: |
---|
| 17 | |
---|
| 18 | jqPlot requires jQuery (1.4+ required for certain features). jQuery is included in the distribution. |
---|
| 19 | To use jqPlot include jquery, the jqPlot jQuery plugin, jqPlot css file and optionally the excanvas |
---|
| 20 | script for IE support in your web page. Note, excanvas is required only for IE versions below 9. IE 9 includes |
---|
| 21 | native support for the canvas element and does not require excanvas: |
---|
| 22 | |
---|
| 23 | > <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]--> |
---|
| 24 | > <script language="javascript" type="text/javascript" src="jquery.min.js"></script> |
---|
| 25 | > <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script> |
---|
| 26 | > <link rel="stylesheet" type="text/css" href="jquery.jqplot.css" /> |
---|
| 27 | |
---|
| 28 | Add a plot container: |
---|
| 29 | |
---|
| 30 | Add a container (target) to your web page where you want your plot to show up. |
---|
| 31 | Be sure to give your target a width and a height: |
---|
| 32 | |
---|
| 33 | > <div id="chartdiv" style="height:400px;width:300px; "></div> |
---|
| 34 | |
---|
| 35 | Create a plot: |
---|
| 36 | |
---|
| 37 | Then, create the actual plot by calling the |
---|
| 38 | $.jqplot plugin with the id of your target and some data: |
---|
| 39 | |
---|
| 40 | > $.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]]); |
---|
| 41 | |
---|
| 42 | Which will produce a |
---|
| 43 | chart like: |
---|
| 44 | |
---|
| 45 | (see images/basicline.png) |
---|
| 46 | |
---|
| 47 | Plot Options: |
---|
| 48 | |
---|
| 49 | You can customize the plot by passing options to the $.jqplot function. Options are described in |
---|
| 50 | <jqPlot Options> in the jqPlotOptions.txt file. An example of options usage: |
---|
| 51 | |
---|
| 52 | > $.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]], |
---|
| 53 | > { title:'Exponential Line', |
---|
| 54 | > axes:{yaxis:{min:-10, max:240}}, |
---|
| 55 | > series:[{color:'#5FAB78'}] |
---|
| 56 | > }); |
---|
| 57 | |
---|
| 58 | Which will produce |
---|
| 59 | a plot like: |
---|
| 60 | |
---|
| 61 | (see images/basicoptions.png) |
---|
| 62 | |
---|
| 63 | Using Plugins: |
---|
| 64 | |
---|
| 65 | You can use jqPlot plugins (that is, plugins to the jqPlot plugin) by including them in your html |
---|
| 66 | after you include the jqPlot plugin. Here is how to include the log axis plugin: |
---|
| 67 | |
---|
| 68 | > <link rel="stylesheet" type="text/css" href="jquery.jqplot.css" /> |
---|
| 69 | > <!--[if IE]><script language="javascript" type="text/javascript" src="excanvas.js"></script><![endif]--> |
---|
| 70 | > <script language="javascript" type="text/javascript" src="jquery.min.js"></script> |
---|
| 71 | > <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script> |
---|
| 72 | > <script language="javascript" type="text/javascript" src="jqplot.logAxisRenderer.js"></script> |
---|
| 73 | |
---|
| 74 | Important note: For jqplot builds r529 and above (0.9.7r529 and higher), you must explicitly |
---|
| 75 | enable plugins via either the { show: true } plugin option to the plot or by using |
---|
| 76 | the $.jqplot.config.enablePlugins = true; config options set on the page before plot creation. |
---|
| 77 | Only plugins that can be immediately active upon loading are affected. This includes |
---|
| 78 | non-renderer plugins like cursor, dragable, highlighter, and trendline. |
---|
| 79 | |
---|
| 80 | Here is the same $.jqplot call |
---|
| 81 | but with a log y axis: |
---|
| 82 | |
---|
| 83 | > $.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]], |
---|
| 84 | > { title:'Exponential Line', |
---|
| 85 | > axes:{yaxis:{renderer: $.jqplot.LogAxisRenderer}}, |
---|
| 86 | > series:[{color:'#5FAB78'}] |
---|
| 87 | > }); |
---|
| 88 | |
---|
| 89 | Which produces |
---|
| 90 | a plot like: |
---|
| 91 | |
---|
| 92 | (see images/basiclogaxis.png) |
---|
| 93 | |
---|
| 94 | You can further customize with options specific |
---|
| 95 | to the log axis plugin: |
---|
| 96 | |
---|
| 97 | > $.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]], |
---|
| 98 | > { title:'Exponential Line', |
---|
| 99 | > axes:{yaxis:{renderer: $.jqplot.LogAxisRenderer, tickDistribution:'power'}}, |
---|
| 100 | > series:[{color:'#5FAB78'}] |
---|
| 101 | > }); |
---|
| 102 | |
---|
| 103 | Which makes a |
---|
| 104 | plot like: |
---|
| 105 | |
---|
| 106 | (see images/basiclogoptions.png) |
---|
| 107 | |
---|
| 108 | For a full list of options, see <jqPlot Options> in the jqPlotOptions.txt file. |
---|
| 109 | |
---|
| 110 | You can add as many plugins as you wish. Order is generally not important. |
---|
| 111 | Some plugins, like the highlighter plugin which highlights data points near the |
---|
| 112 | mouse, don't need any extra options or setup to function. Highlighter does have |
---|
| 113 | additional options which the user can set. |
---|
| 114 | |
---|
| 115 | Other plugins, the barRenderer for example, provide functionality that must be specified |
---|
| 116 | in the chart options object. To render a series as a bar graph with the bar renderer, |
---|
| 117 | you would first include the plugin after jqPlot: |
---|
| 118 | |
---|
| 119 | > <script language="javascript" type="text/javascript" src="plugins/jqplot.barRenderer.min.js"></script> |
---|
| 120 | |
---|
| 121 | Then you would create |
---|
| 122 | a chart like: |
---|
| 123 | |
---|
| 124 | > $.jqplot('chartdiv', [[34.53, 56.32, 25.1, 18.6]], {series:[{renderer:$.jqplot.BarRenderer}]}); |
---|
| 125 | |
---|
| 126 | Here the default LineRenderer is replaced by a BarRenderer to generate a bar graph for the first (and only) series. |
---|