views:

1807

answers:

3

Hi,

I am looking for a charts library to be displayed on a website. I will use intensively this library (for area, line and bar charts mainly), so I prefer to secure my choice before starting implementing.

The list of website chart libraries that I have initially considered are:

However after some researches on this forum and investigations on the web, I have reduced my candidate list to these two libraries:

  1. Flot jQuery plugin
  2. Google Visualization

Which one do you advise me to use and why (if you have worked with one or two of them, please tell me your feedback)?

How do they compare one to each other regarding ease of use, performance and features?

Thank you

EDIT: Based-Flash Chart libraries were not eligible with my constraints

+2  A: 

The piwik project uses the Open Flash Chart (not on your list).

It's easy to use, has plenty of working examples very user friendly.

Am
well, I do not want Flash in my website. Only JavaScript. This is why I didn't consider this library
fabien7474
@fabien7474, out of curiosity, why not flash? is it intended for mobile?
Am
Yes. This is one of the reasons.
fabien7474
+1  A: 

I am a user of Flot, and a big fan. I use it in a Grails application, and use stacked bar, line, and pie charts, including time-series and a bunch of interactive capabilities (i.e. turn off / on series with checkboxes, etc).

I found it to be a pleasure to work with overall, and feel the API is quite well developed (I saw that a bunch of other JS charting libraries adopted the API, so you'll even have some flexibility to move to another kit in the future). From looking at the google API just now for a minute, I think I like flot's better (although google may have ability to pass in a series as well, didn't see it from samples).

They just came out with a new version a few weeks ago (0.6), that supports plugins, which I expect will stimulate more innovation.

So I think part of this depends on other technologies you are planning to use. It seems like Visualization is integrated with GWT, so if you are thinking of using that, Visualization is the way to go. On the other hand, if you are thinking of using JQuery for AJAX, then Flot might be a more natural fit.

When I was making my decision to use this, it seems like Google didn't have interactive visualizations, only google charts (images), which is one of the reasons I went with Flot.

Jean Barmash
Thanks for your answer. I am working on the same technology as yours (Grails, jQuery). BTW, Google Visualization is really different from Google Charts. You have much more control and interactivity and it is not dedicated to GWT. There is a Java and JS APIs as well. It seems that currently Flot is more popular but Google Visu seems really powerful.Did you use the flot grails plugin?
fabien7474
Definitely seems like Google Visualizations is pretty advanced. I did use the flot plugin (which was just updated to the latest 0.6) - it's a very thing layer that just packages the js. I also wrote a more sophisticated layer on top of it to make it easier to work with grails. I.e. you can pass a list of maps, and it pulls out properties you specify and renders the graph. I was planning to release it at some point, but can make available the code I have so far - email at jean dot barmash at gmail.com if interested.
Jean Barmash
+7  A: 

I will try to answer my own question after some several tries and researches about these 2 visualization libraries, here are my own list of pros for each solution :

Flot Pros


  1. jQuery plugin : if you are familiar with jQuery (or if your apps is integrated with jQuery), it seems natural to use Flot
  2. Offline visualization : you can test or have it installed into an internal website. Google Visu can only work if you have acces to the google website !!
  3. Customization : this is basically a JavaScript file so if you are good at JS coding, you can customize your charts as your convenience. Also the Flot plugin system allows you better modularity

Google Visualization Pros


  1. Documentation : awesome ! Examples for each type of graphs are available in the Google site
  2. Easy to use : Really. Easier than Flot (that requires to somehow customize the div container)
  3. Powerful : you have many sorts of graphs and features (zooming, interactivity,...)
  4. Java and Python API : it can helps a lot for constructing the Data Table (at least for me, I can use the Java API)

Bottom Line


If you are familiar with jQuery, go with Flot. If you need for some reasons to see your charts offline, go with Flot. If you want full control, go with Flot.

If you don't recognize yourself above, go with Google Visu. It's easy to learn and implement, very well documented and extremely powerful.

fabien7474