Everyone loves charts. Well, maybe not everyone, but a lot of people. Well, maybe not a lot of people, but some. Ok, I love charts.
Anyway, even if you don’t love charts, you may eventually have to work with them. And unless you’re into hand-coding image manipulation routines (and who isn’t), you will need a charting library.
What Are My Options?
For web applications, charting libraries come in two general flavors: server-generated and client-side. Not surprisingly, server-generated charts are pre-rendered on the server as an image. Fancier libraries also generate an image map along with the image, which allows for a degree of interactivity. There are multiple vendors in this space including Infragistics, Telerik, and Microsoft.
Ok, How Do I Choose?
Some factors to consider when choosing a charting library include:
- what types of charts you want (bar, stack, line, Probability correlation coefficient plot, etc)
- how you want them to look (gradients, 3D, pictures of kittens in the background, etc)
- how interactive you need them to be (fully click-able, updated in real time, telepathically rendered, etc)
- what devices you need to support (phones, tablets, toasters, etc)
We wanted visually appealing, highly interactive charts of many different types, which could work on everything from IE6 to the iPad. We were also looking for a library that would play well with our web UI framework of choice (Ext JS). Based on this criteria, we evaluated two client-side charting libraries *:
- gRaphael: open source, based on the brilliant vector graphics manipulation library Raphael developed by Dmitry Baranovskiy
- High Charts: commercial, from a Norwegian company Highsoft
* One library we didn’t consider was Ext itself. We had to rule out the charting capabilities of Ext JS 3.3 because it uses Flash to render them (goodbye iOS) and has a very limited (some might say crappy) selection of chart types.
And The Winner Is…
We ended up selecting gRaphael because we assumed that it would be included in the next version of Ext JS (the guy who developed it happens to work for Sencha). Luckily, this turned out to be true. Sencha recently announced the developer preview of Ext JS 4.0 and drastically improved charting is a major new feature.
You may also like:
Did you love / hate / were unmoved by this post?
Then show your support / disgust / indifference by following me on Twitter!