FusionCharts jQuery plugin | ||||||||||||||||||||||||||||
Starting FusionWidgets XT, you can use the popular jQuery syntax to render and manipulate FusionWidgets XT. This can be done using the FusionCharts jQuery plugin. FusionWidgets XT uses the FusionCharts jQuery plugin that takes care of all the products of FusionCharts XT Suite, including FusionWidgets XT. FusionCharts jQuery plugin helps you to render FusionWidgets XT anywhere within a web page. Also it helps you to change chart type, update and retrieve chart data, update functional and cosmetic settings and use all the existing features of FusionCharts. Adding a chart at the end or beginning of an existing container is easily possible using this plugin. Moreover, a custom selector helps you find all the charts in your page or in any container element. To aid your understanding of this section, we recommend you to go through the following sections of documentation (if you've not already read them):
In the following sections of this page, we will see how to set-up and use this plugin. Code examples and data files discussed in this section are present in Download Package > Code > jQuery folder |
||||||||||||||||||||||||||||
Setting up the FusionCharts jQuery plugin | ||||||||||||||||||||||||||||
Setting up the FusionCharts jQuery plugin is very easy. You need to follow these simple steps:
This completes the setup. Please note that you do not need to explicitly include FusionCharts.HC.js and FusionCharts.HC.Widgets.js in your code. FusionCharts.js will automatically load these files as and when required.
Creating the first chart using the FusionCharts jQuery plugin Let's now create our first chart using the FusionCharts jQuery plugin. Let's create the same customer satisfaction Angular gauge which we had created in the Creating your first chart section as shown in the image below: The XML data for this was:
We save this data as Data.xml. The code to use this data and generate an Angular gauge using the FusionCharts jQuery plugin is as follows: <html> <head> <title>My First chart using FusionWidgets XT</title> <script type="text/javascript" src="Charts/FusionCharts.js"></script> <script type="text/javascript" src="Charts/jquery.min.js"></script> <script type="text/javascript" src="Charts/FusionCharts.jqueryplugin.js"></script> </head> <body> <div id="chartContainer">Chart will load here!</div> <script type="text/javascript"><!-- $(document).ready(function(){ $("#chartContainer").insertFusionCharts({ swfUrl: "Charts/AngularGauge.swf", dataSource: "Data.xml", dataFormat: "xmlurl", width: "400", height: "200", id: "myChartId" }); }); // --> </script> </body> </html> | ||||||||||||||||||||||||||||
We save the above code as FirstChart.html. In the above code we have :
The insertFusionCharts method renders a chart within the selected HTML element. It takes a set of key/value pairs representing chart configurations as parameter. The set is passed as an Object. The properties of the parameter-object are as follows: | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
The resultant chart will be rendered as shown in the image below: ![]() See it live! What happens if Flash player is not available? |
||||||||||||||||||||||||||||
Rendering the chart as JavaScript | ||||||||||||||||||||||||||||
You can also render JavaScript chart using the same method. All you need to do is to explicitly set the renderer property to javascript. In case you are running the sample from local file system, you also need to set the chart data as string. The code snippet below contains the modified sample: $("#chartContainer").insertFusionCharts({ swfUrl: "Charts/AngularGauge.swf", renderer: "JavaScript", width: "400", height: "300", id: "myChartId", dataFormat: "xml", dataSource: "<chart lowerLimit='0' upperLimit='100' lowerLimitDisplay='Bad' " + " upperLimitDisplay='Good' numberSuffix='%' showValue='1'> " + " <colorRange> " + " <color minValue='0' maxValue='75' code='FF654F'/>" + " <color minValue='75' maxValue='90' code='F6BD0F'/> " + " <color minValue='90' maxValue='100' code='8BBA00'/> " + " </colorRange>" + " <dials> " + " <dial value='92' /> " + " </dials> " + " </chart>" }); The resultant chart would look like the image shown below: See it live! |
||||||||||||||||||||||||||||
Using JSON as data source | ||||||||||||||||||||||||||||
Apart from XML you can also provide data in JSON format. You can provide JSON as JavaScript Object, as JSON string or as a URL. To provide data as JSON you need to pass the JSON data source to dataSource property and set json or jsonurl to dataFormat property. The code snippet below shows how you can pass JSON Object as data source: $("#chartContainer").insertFusionCharts({ swfUrl: "Charts/AngularGauge.swf", width: "400", height: "300", id: "myChartId", dataFormat: "json", dataSource: { "chart": { "lowerlimit": "0", "upperlimit": "100", "lowerlimitdisplay": "Bad", "upperlimitdisplay": "Good", "numbersuffix": "%", "showvalue": "1" }, "colorrange": { "color": [ { "minvalue": "0", "maxvalue": "75", "code": "FF654F" }, { "minvalue": "75", "maxvalue": "90", "code": "F6BD0F" }, { "minvalue": "90", "maxvalue": "100", "code": "8BBA00" } ] }, "dials": { "dial": [ { "value": "92" } ] } } }); See it live! The code snippet below shows how you can pass JSON string as data source: $("#chartContainer").insertFusionCharts({ swfUrl: "Charts/AngularGauge.swf", width: "400", height: "300", id: "myChartId", dataFormat: "json", dataSource: '{ ' + ' "chart": { ' + ' "lowerlimit": "0", ' + ' "upperlimit": "100", ' + ' "lowerlimitdisplay": "Bad", ' + ' "upperlimitdisplay": "Good", ' + ' "numbersuffix": "%", ' + ' "showvalue": "1" ' + ' }, ' + ' "colorrange": { ' + ' "color": [ ' + ' { ' + ' "minvalue": "0", ' + ' "maxvalue": "75", ' + ' "code": "FF654F" ' + ' }, ' + ' { ' + ' "minvalue": "75", ' + ' "maxvalue": "90", ' + ' "code": "F6BD0F" ' + ' }, ' + ' { ' + ' "minvalue": "90", ' + ' "maxvalue": "100", ' + ' "code": "8BBA00" ' + ' } ' + ' ] ' + ' }, ' + ' "dials": { ' + ' "dial": [ ' + ' { ' + ' "value": "92" ' + ' } ' + ' ] ' + ' } ' + '}' }); See it live! The code snippet below shows how you can pass a URL as JSON data source: $("#chartContainer").insertFusionCharts({ swfUrl: "Charts/AngularGauge.swf", width: "400", height: "300", id: "myChartId", dataFormat: "jsonurl", dataSource: "data.json" }); See it live! Many web servers like IIS6, do not serve .json (no wildcard MIME type) files by default. You need to setup your web server to serve json files. In IIS6 you can do this using these steps:
NOTE: Many browsers restrict JavaScript from accessing local file system owing to security reasons. The JavaScript charts, when running locally, will not be able to access JSON data provided as a URL. If you run the files from a server, it will run absolutely fine, though. When running locally, however, if you provide the data as JavaScript Object or JSON String, it works fine. |
||||||||||||||||||||||||||||
API Overview | ||||||||||||||||||||||||||||
Here is a quick reference map of FusionCharts jQuery API. Click on the desired item to know more.
|
||||||||||||||||||||||||||||
In the following pages we will learn how to use FusionCharts jQuery plugin to: |