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. |
---|