Monday, October 12, 2009

Flex/Flash chart libraries

Hey there!

I've been developing different Flex applications for some time and recently I am working on a charting component build on Flex. I was using flex data visualization framework, and I loved it. It was very easy to visualize different kind of data, and to create custom components. There were some issues, but you could fix them. Everything good, but this framework isn't free... That wasn't a problem for me as I already had a license, a student license for Flex Builder 3 Pro which Adobe kind fully gave me. But friends of mine and colleagues are not able to receive it, so they have the chance either to buy Flex Builder Pro license (which goes with data visualization) or to search for a free alternative

Here I will discuss the 3 best alternatives, from my point of view.

But first let's see how the Flex data visualization looks like, and how can we use the other libraries to display it like that




And we're of on the adventure of searching the best Flex/Flash chart library...
Maybe the first result you encounter, when you Google "flash chart" is
  • Open Flash Charts. It is a charting library build on actionscript. As you may see from the examples it is very elegant and easy to set up. It reads JSON data to do the configuration and there are different libraries for JAVA, Python, php that make it easier. There is even a very good extension so that you can use it as a flex component and a charting explorer that you can find here. The good thing is that is easy to display simple charts (well sometimes it's really tough when you write your own JSON object) and it is very lightweight (only actionscript) The bad is that if you want to change, modify something it's really hard.

    Here is a simple example of a Line Chart made with Open Flash Charts



  • Axiis I have followed Axiis a long time ago, from the first posts of Thomas Gonzales and Michael VanDaniker but never had the chance to try it until now. It is an open source data visualization framework for Flex based on Degrafa. At first I was a bit confused with all those geometry repeaters, but head on trying it and I saw that it was very easy to configure whatever you like, and it's very flexible. If you've done some work using Flex Data visualization you will find it very easy and intuitive to create your own charts. It is new, still beta but at this stage very popular. It's free, It's on google code... what more can you wish for :)

    Example of Line Chart created with Axiis



  • Flare is another actionscript library, port of Prefuse for JAVA. Unfortunately I haven't researched a lot for this framework, but at first sight I found it very complex and not as intuitive as Axiis. Check out the examples to see how complex visualization you can make. It's great for transitions and effects you can create. It's advantage over the other two libraries is it's complexity, but it's also it's disadvantage, if I may say. What I mean is, that if you want more complex visualizations you definitely would like to grab Flare, but for other cases when you want just a simple line, bar or pie chart it's better to choose something else.

    [Example]

I will upload source code if there is interest. See also a comprasion between Flare and Axiis http://www.pathf.com/blogs/2009/05/flare-vs-axiis/ And now which library suits you best?