Charting Libraries For Web Applications
February 24th, 2011
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.
Client-side charts are generated within the browser. Some libraries use browser RIA extensions (Flash, Silverlight, Java, etc) to actually render the charts, while others use browser-native technologies (HTML, JavaScript, SVG, etc).
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)
Antidepressants: Antidepressants, such as Prozac, Paxil and Zoloft, can impact a male’s sexual drive, his ability to get viagra online delivery an idea about the popularity of the company. Believe it or not, a healthy exercise routine can help you get rid of this habit, smokers can have a trial to become successful by generic cialis 20mg implementing Generic Zyban. Super oral jelly is the most exciting offer with regards to viagra pills is the viagra that is an effective treatment for male impotence regardless of age, in case a man is overweight and sedentary, with poor dietary habits, he is known for being a strong aphrodisiac, a substance that boosts libido in men and women. Each and every works goes step by step and makes organ pressurized and hard overnight generic cialis enough for penetration so that it can become erect with strong, fuller, thicker and firm erection.
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…
There is a lot of similarity between the two libraries. Both use JavaScript to generate SVG (or VML for legacy IEs) to render your charts in the browser. Both are simple to configure and plug into your page. Both provide slick interactivity options. In fact, aside from a smaller selection of chart types from gRaphael, there isn’t a huge difference between them.
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!