Site icon FusionBrew – The FusionCharts Blog

FusionCharts DOM – A new way to include FusionCharts in your HTML

Till now, to include a chart/map created by FusionCharts in your HTML page, you had three options:
  1. Directly use the OBJECT/EMBED tag to include the SWF file in your HTML content and then use Flashvars to provide the XML data string or URL. Example here. While this method offers the advantage of just having to use HTML code, the code gets confusing at times and in Microsoft Internet Explorer, you would need to click the chart object to activate it, before you could interact with it.
  2. Or, use the FusionCharts JavaScript class (FusionCharts.js) that we provide as part of download. Example here. This class provides a better way to include of FusionCharts in your web page, overcame the Internet Explorer “Click to activate” issue, handled a lot of cross-browser issues and also provided additional API to interact with the charts. This has been the recommended method of embedding FusionCharts. The downside of this method was that developers needed to have naive knowledge of JavaScript syntax to use it, though we have provided a lot of examples that can just be replicated.
  3. Use the language specific API that we’ve provided for ASP, PHP, ASP.NET, ColdFusion, JSP, Ruby On Rails etc. in the download pack itself. This API allows you to write the code in your programming language to embed the chart. Behind the scenes, the API generates HTML or JavaScript code as explained above in points 1 & 2.
In an effort to make this entire process even better and easier, we released FusionCharts DOM a few days ago.

What is FusionCharts DOM?

Essentially, FusionCharts DOM is a JavaScript file (FusionChartsDOM.js) that you need to include in your HTML page, along with the standard FusionCharts JavaScript class (FusionCharts.js). You can download both the files here.

How to use it?

Once you’ve downloaded and included the 2 JavaScript files in your page, to create a chart, all you need to do is use the <fusioncharts></fusioncharts> tag in your HTML code. Consider the code below:
<html>
 ... Your HTML Code here ....
  <p>
 <fusioncharts chartType="MSCombi2D" dataUrl="profit_revenue.xml" width="100%">
 </fusioncharts>
 </p>
 ... Your HTML Code here ....
 </html>
This code creates a Multi-series combination 2D chart with its data source specified as Profit_revenue.xml. See it live here. There are a lot of attributes which you can specify for <fusioncharts> element. The entire list can be found here .

In-lining your XML data in the HTML code

If you do not wish to have an external XML file and have the XML data in-lined in the HTML code itself, the following code could be used:
<fusioncharts chartType="Doughnut2D" width="100%">
  <data><!--[CDATA[
    <chart caption="Usage share of Web Browsers"
      subcaption="Third quarter of 2008" numberSuffix="%"
      palette='3' pieRadius='90' >
      <set name="IE6" tooltext="Internet Explorer 6" value="33.13"></set>
      <set name="IE7" tooltext="Internet Explorer 7" value="39.09"></set>
      <set name="Chrome" tooltext="Chrome" value="0.26"></set>
      <set name="FF" tooltext="Mozilla Firefox" value="19.48"></set>
      <set name="N" tooltext="Netscape" value="0.68"></set>
      <set name="Opera" tooltext="Opera" value=".71"></set>
      <set name="Safari" tooltext="Safari" value="6.39"></set>
      <set name="Others" tooltext="Others" value="0.26"></set>
    
  ]]--></data>
</fusioncharts>
Here, the entire XML data has been inlined under <data> tag. See this live in action.

Added Advantage: Specifying common settings for all charts in page

If you’ve multiple charts in a page and wish to specify common settings for all of them, like width/height, debugMode etc., FusionCharts DOM allows you to specify the same within the <script> tag as under:
!-- script in <head> -->
<script type="text/javascript" src="../docs/JavaScripts/FusionChartsDOM.js"
        parameters="chartType: 'Line', width: '200', height: '200'"></script>
...
<!-- fusioncharts HTML tags in <body> -->
<fusioncharts dataUrl="data/CISCO.xml"></fusioncharts>
<fusioncharts dataUrl="data/IBM.xml"></fusioncharts>
<fusioncharts dataUrl="data/JAVA.xml"></fusioncharts>
<fusioncharts dataUrl="data/INTL.xml"></fusioncharts>
In the above code, the four charts are generated as line chart with a width and height of 200 pixels. See it live here.

Support for FusionCharts events

FusionCharts DOM supports all the other events and parameters that are supported by FusionCharts. If you’ve already integrated FusionCharts in your applications and wish to switch to DOM, the transition is seamless and does not break your existing JavaScript too. You can just replace the existing chart inclusion code with the new DOM style code.

Related links

FusionCharts DOM may be downloaded here . Or, you may read the online documentation here.
Exit mobile version