Choosing a Web charting library

At Vquence, until now we have used the Thumbstacks chart library for our graphs. TSChartlib is a simple open source charting library that uses the HTML canvas and an IE hack to create its graphs.

Vquence is now getting real serious with charts and graphs and we were thus looking for a more visually compelling and more flexible alternative. If you do a google search for “online charting library“, you get a massive amount of links to proprietary systems (admittedly, some of them offer the source code if you pay a premium). I will not be listing them here – go find them for yourself. However, the world of decent open source charting libraries is relatively small, so I want to share the outcome of my search.

There is the Open Flash Chart libary, which provides charting functionality for flash or flex programmers. The charts look rather nice and have overlays on the data points, which is something I missed thoroughly from TSChartlib.

There is a open source flex component called FlexLib which only does line charts, IIUC.

There is PlotKit, a Chart and Graph Plotting Library for Javascript. It has support for HTML Canvas and also SVG via Adobe SVG Viewer and native browser support and looks quite sexy.

Then there is JFreeChart, a 100% Java chart library that makes it easy for developers to display professional quality charts in their applications. Another Java charting library is JOpenChart. Incidentally, there’s a whole swag of further Java libraries that do charts and graphing. However, we are not too keen on Java for Web technologies.

Outside our area of interest, there are also open source chart libraries in C#, but C#/.NET is not a platform we intend to support, so these were out of the question.

Our choice came down to the “Open Flash Chart” library vs “Plotkit”. Of the two, the Flash library and technology seems more mature, easier to use, and creates sexier charts. Also, we can sensibly expect all Vquence users to have Flash installed, while we cannot expect the same to be true for SVG. However, I was fascinated by the flexible use of SVG and HTML Canvas and will certainly get back to it later, when I expect it to have matured a bit more.

Our choice of the Open Flash Chart was further facilitated by a rails plugin for it. Score!

Of course: I might have totally missed some obvious or better alternatives. So, leave me a reply if you think I did!

7 thoughts on “Choosing a Web charting library

  1. I was pretty sure you’d be looking for something interactive, so I posted about gruff apprehensively. šŸ™‚

    I haven’t seen scruffy before – pretty cool. All the Ruby graphing libraries seem to back onto imagemagick, so the results all sorta look the same.

  2. Hey thanks for the kind words.

    Don’t get hung up on one solution, try using a number of different charting elements šŸ™‚

    But I think open flash chart is very cool šŸ™‚

    Don’t forget to post the Rails bugs/patches in our forums šŸ™‚

    monk.e.boy

  3. There are a few reasons why we didn’t look at the Google charts for our purposes.

    First of all, the Google Chart API returns a PNG-format image in response to a URL. What we wanted were interactive charts that you could click on to change something. So that would not work.

    Also, the Google charts are actually quite difficult to turn them into good-looking charts.

    We have analysed chart libraries that were based on the creation of images, on the HTML canvas element, and on Flash and have found that the Flash-based ones still come out on top for graph quality, interactivity and adaptability.

    I believe that the HTML canvas element, in particular with SVG, once mature, will be the way to go. But for now, Flash is the better option.

Leave a Reply

Your email address will not be published. Required fields are marked *