RaphaelJS offers the advantages of SVG with an IE fallback. It's a Javascript library that outputs VML in IE6+ and SVG everywhere else.<p>The graphs can be manipulated in JS after their creation to create animations.<p><a href="http://raphaeljs.com/" rel="nofollow">http://raphaeljs.com/</a>
Ironically, Adobe used to be the biggest supporter of SVG... before they purchased Flash. Their svg renderer was by far the best in the field at the time, and supported lots of wonderful features, including great ECMAscript (Javascript), had the ability to build AJAX-like interactions using remote requests, and was fundamentally awesome.<p>It never made it out of beta and got killed when Flash became Adobe's new sweetheart. Very sad.
If you are interested in SVG charting engines, check out Highcharts. Used them on a project recently and really liked how it turned out. It's a shame that VML performance in IE is so terrible when SVG performance in Chrome is so awesome.<p><a href="http://www.highcharts.com/" rel="nofollow">http://www.highcharts.com/</a>
Cool. But where's the live demo?<p>Also - just one snarky comment on JS style:<p><pre><code> if(!!document.createElementNS
&& !!document.createElementNS('http://www.w3.org/2000/svg, "svg").createSVGRect) {
</code></pre>
No need for the bangs!
d3 is really interesting from a coding standpoint. It's a bit like a fancy orm like SQLAlchemy, Sequel, or the new ActiveRecord with arel. Instead of transforming model data it transforms view data, though. It's worth a look IMHO.<p><a href="https://github.com/mbostock/d3" rel="nofollow">https://github.com/mbostock/d3</a>
SVG is slower than html5 canvas. my preference would be still html5 due to performance reasons. It is good to use a combination of both. For SVG files can be converted to javascript code and vice versa