May 7, 2008

FusionCharts Free: Cross-platform charts that rock

Author: Robert D. Currier

It has been said that the best things in life are free. While this isn't always true, it applies in this case. If you've struggled with GNUplot, JPgraph or other charting applications, FusionCharts Free is a breath of fresh air. Have you dreamed of finding a charting and graphing application that is simple to install, easy to configure, and drop-dead gorgeous? Stop dreaming and download a copy of FusionCharts Free. You'll be producing professional quality charts and graphs in no time.

Created by InfoSoft Global, FusionCharts Free is a scaled-down version of FusionCharts v3 and uses Adobe Flash MX, ActionScript 1, and XML data files to produce cross-platform and cross-browser compliant charts. Unlike traditional graphing applications such as GNUplot and JPgraph, FusionCharts doesn't rely on server-based scripting languages and isn't tied to a specific platform or database. While it supports scripting languages like PHP and Ruby, they aren't required. And that's the beauty of this application: you can install FusionCharts Free on your desktop PC or on an enterprise Web server in just a few minutes without worrying about required packages and dependencies. Everything you need to produce a wide variety of charts and graphs is included in the distribution.

Installation and configuration

We tested FusionCharts Free on a CentOS 4 server running the Apache Web server. After downloading the application's zip file we uncompressed the contents in our home directory. We then created a FusionCharts directory under our Web root path of /var/www/html and copied the supplied SWF files into this directory. FusionCharts Free provides 22 different chart types, including single-series, multi-series, stacked, combination, candle, and Gantt charts.

After we copied the SWF files we made a working directory called ChartTest in /var/www/html, into which we placed our chart data files and our chart-generating HTML files. We had root access to this server and could therefore create and access files in the Web root directory; if you don't have root access on your server, you'll need to have a public_html folder in your home directory to store the HTML files and data files.

FusionCharts requires that data to be charted be formatted using XML. While the Free version requires users to do this manually, FusionCharts v3 comes equipped with a utility to handle the conversion.

The chart-generating HTML files are simple and require little editing on the part of the user. Typically just the name of the desired chart file needs to be changed.

Getting graphical

Following the example contained in the Getting Started section of FusionChart's online documentation, we copied and pasted the sample files Chart.html and Data.xml to our working directory. Firing up our Web browser, we pointed it at Chart.html and were pleased to see a colorful, animated 3-D bar graph.

Creating our first chart was so easy that we tried changing chart types. We opened Chart.html using a text editor and performed a search and replace of "Column3D" to "Pie3D," one of the supplied SWF chart files. We saved Chart.html, refreshed our browser, and were presented with a perfect pie chart. In less than five minutes we had created two types of charts by changing only a few lines in an HTML file.

FusionCharts Free requires that chart data be formatted using XML. For quick, one-off charts, you can enter this data in a text file. If all you're looking for is a quick chart, no problem, as the supplied examples provide easily modifiable templates. For more complex charts, the data conversion is best handled programatically with a scripting language. But what if you need to set up a chart that is dynamically updated, or run queries against a database for chart information? FusionCharts Free makes this an easy task by supplying bindings to PHP and JavaScript.

To gauge the difficulty of using FusionCharts Free to gather dynamic data we attempted to replicate one of our production graphs. The graph displays battery voltage versus time for a scientific instrument and is fed by a MySQL database. The production chart is generated by JPgraph and features titles, subtitles, and a date/time X axis. This was a complex graph to configure using JPgraph and required quite a bit of editing and testing before it functioned properly.

To simplify the test, we borrowed working PHP code for database connectivity from our production application. To the existing code we added pointers to two include files supplied with FusionChart Free. The include files provide the PHP and JavaScript code required to embed Flash charts in an HTML page. We modified our data formatting function to output the proper XML structure and inserted a call to FusionChart's renderGraph() function. A quick check with our browser confirmed that our graph was working properly.

Once we had a working chart we needed to tweak the formatting to replicate our production graph. We added subtitles using the subCaption setting, adjusted the Y-axis max and min values with yAxisMinValue and yAxisMaxValue, and set the background border color to gray. Our new graph now closely matched our production chart. While not an exact duplicate, the chart is a close approximation, and we built it in less than five minutes.

Documentation and support

FusionChart Free's documentation is supplied as an HTML file. We found the documentation to be extensive and technically accurate, but full of stylistic and grammatical errors. The errors detracted from an otherwise excellent set of documentation.

No personalized support is provided for FusionCharts Free, but there is an active online forum hosted on the FusionCharts Web site. We were having trouble getting X-axis values to display at "every nth value" intervals, so we did a quick search on the forum. Turns out that there is a feature called labelStep that did exactly what we needed. Unfortunately, we also discovered that labelStep isn't supported in the Free version of FusionCharts.

FusionChart Free is more than adequate for most basic charting applications but users with complex charting needs may want to consider upgrading to FusionChart v3. Version 3 provides 45 graph types versus FusionChart Free's 22, adds substantially to the number of data formatting options, and includes personalized support. Version 3 also includes a visual XML generator and built-in debugger. FusionCharts Version 3 ranges in price from $69 for a user license to $1,999 for an enterprise license.

We were so impressed with this product that we are considering switching from JPGraph to FusionCharts Free for the majority of our production Web applications. If you regularly produce charts and graphs and don't need the advanced features of FusionCharts v3, this application is a must-have addition to your toolkit. FusionChart Free's ease of use, elegant charts, and ability to interface with databases make it a winner. And best of all, it's free.


  • Graphics & Multimedia
  • Internet & WWW
  • Reviews
Click Here!