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:

Feature 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.

Technology Considerations

  • Libraries render charts using Flash, HTML5 canvas, SVG or VML. Non-Flash solutions are typically referred to as JavaScript.
  • 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.

Vendor Considerations

  • 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.

Top products

FusionCharts

It is probably the most comprehensive solution on the market. FusionCharts includes a wide variety of charts, graphs, maps, visualization widgets and gauges. It is widely used. Originally the product was Flash based. JavaScript support has been added. There is one downside – it is more pricy than other options.

FusionCharts

ZingChart

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.

ZingChart

Highcharts

Highcharts is a robust, mature JavaScript charting solution. All common charts are supported. It is free for noncommercial and inexpensive for commercial use.

Highcharts

jqPlot

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.

jqPlot

jQuery Sparklines

This free plugin generates sparklines (small inline charts).

InfoVis

InfoVis is a free JavaScript data visualization toolkit. It focuses in particular on visualization of tree and graph data.

InfoVis

Google Chart Tool

Google Chart is a free JavaScript charting tool. It is a SaaS solution. With most other options you download and deploy charting libraries with your application. With Google Chart you render charts by making calls to Google servers.

Google Chart Tool

Personal Perspective

At my prior startup we used FusionCharts and we have been very happy with the product. An example is included in my Social Media CMO Summary Dashboard post.  I would not hesitate to recommend it and my initial inclination was just to go with FusionCharts again at my current startup. It has been however a while since I looked at chart libraries and we are being careful with investors money. Hence I decided to look at the products again. Open source solutions was our preference. We ended up settling on Highcharts which functionally offers everything we need at this time. It is JavaScript based and the trend is towards JavaScript based solutions. It is mature (we do not want to spend time fixing bugs in a chart library). While not free it is very modestly priced.