Adding charts to web-based applications is a common requirement. There are quite a few products on the market which can meet a variety of charting needs. This post discusses what to consider when selecting such tool and highlights several top product options.
Selecting a charting tool
When selecting a chart library, start by defining your selection criteria taking into account the following considerations:
- Most libraries include common charts such as line, bar, pie, area, scatter. Some support other chart types such as maps, dashboard meters and gauges, tree maps etc.
- Some products support combination charts, i.e. ability to mix different charts together.
- Esthetically some products may be more appealing than others. Products also differ in a level of look and feel customization.
- Products vary in level of interactivity. Some support zoom, drill down, drag and drop capabilities.
- Some products include real-time support, i.e. data feed integration.
- Some libraries support a limited set of browsers. This is not an issue for Flash based solutions. Flash is however problematic with some devices.
- Libraries differ in weight they add to a page. They also differ in ability to handle larger volumes of data.
- Integration in some cases involves literally adding a few lines of code. Other, framework type products may require extensive coding.
- Pretty much all products, including commercial, provide access to the source code.
- Products vary from research projects to commercial solutions. Some open source products are actively maintained while other projects may be getting only sporadic attention.
- There are bleeding edge options and mature, widely used products.
- There are free products and paid for commercial solutions.
- Some vendors offer support.
From a bigger picture perspective, selecting a chart tool is not a major decision and hence the process does not need to be over-engineered. It is however worthwhile to outline:
- your key functional requirements, e.g. type of charts you would like to render
- technical requirements such as performance and browsers/devices to be supported
- any vendor preferences, product maturity level in particular
There isn’t a single answer for everybody. There are however a few leading contenders who would fit a broad range of circumstances.
ZingChart includes a wide variety of charts. Vendor highlights performance and support for large data sets. Flash, HTML5, SVG and VML renders are available. Pricing can be found here.
jqPlot is a free jQuery plotting plugin. It renders commonly used charts and its key strength is ease of integration for anybody already using jQuery.
This free plugin generates sparklines (small inline charts).