Svg charting library

mleica picture mleica · Apr 27, 2009 · Viewed 37.4k times · Source

Do you know if there's any SVG + js charting library out there similar to http://www.amcharts.com/ (Flash). I need to provide nice looking interactive chart functionality in a browser that does not support Flash but supports SVG.

Answer

Stefano Bagnara picture Stefano Bagnara · Aug 4, 2011

Depending on licensing requirements and features you have a few options. SVG is not supported from IE 6 to IE8 so you may find some libraries using canvas to run on IE, and others using VML to run on IE.

  • Plotkit is a mixed SVG+Canvas library, latest version is a bit outdated (0.9.1 released in 29 August 2006) BSD licensed.

  • Elycharts is an SVG+VML library (using RaphaelJS under the hood) with a good feature set, interactivity and cool animations. (last version 2.1.3 from December 2010) Mit licensed.

  • g.raphael is an SVG+VML library (using RaphaelJS, from the same author of RaphaelJS). It is very good for infographics, less good for classical charts. (last version 0.4.1 from 2009) Mit Licensed.

  • Grafico is again an SVG+VML library (again RaphaelJS based). It has much more chart types than gRaphael or Elycharts but less options/configurability than Elycharts. MIT licensed.

  • Google Chart Tools provides SVG+VML based charts. It's free to use but I didn't find the complete licensing terms. It also provides an editor (even if it is not easy to find on their site)

  • D3.js Is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS.

You also have some commercial option:

  • ZingChart - This is the only library allowing SVG, VML, canvas and flash in order to support every device out there. It is expensive but very complete.

  • HighCharts - A very complete SVG+VML library having a very good documentation and a very complete feature set. It has a free for personal use license but it shows a very "strict" interpretation of personal and your own blog may not be considered "personal", that's why I show it under "commercial options".