Canvas is bitmap-based, while SVG is vector. If you need to print the chart SVG is going to look a lot better. Also, if you pinch-zoom the chart, SVG is going to look better. Canvas doesn't support animation -- you have to code it yourself. SVG performance is quite good unless you have thousands of elements, which a chart isn't going to have.
The obvious. That canvas is just a set of pixels with colors (a bitmap image). To get animation, you have to explicitly change them every X milliseconds.
Whereas SVG has actual objects, that you can apply items like animateTransform, animateMotion etc to them directly, in a declarative style.
I did a while back for my university dissertation, I'll have to see if I can dig it out.
IIRC: canvas tends to outperform svg when dealing with a lot of individual objects, due to them being individual dom nodes in svg. However svg will outperform canvas drawing fewer nodes, on a larger canvas, due to canvas being bitmap based.
Thanks! I'll see if I can give it a shot, I just went back after grabbing my laptop and noticed the section on writing new chart types. Maybe I can figure it out. I have a project in mind I could use this for.
I'd misunderstood some of the issues I wrote about earlier in regard to the library. It is now back online for good, licensed under MIT. Sorry for all this kerfuffle.
I found quite a few existing SVG based graphing libraries based off d3 or Raphael, and wanted to create something a bit more lightweight - canvas sacrifices interactivity for raw speed.
I wanted Chart.js to be dependency free, which has led to a footprint of only ~4.4kb when minified and gzipped, d3 is a lot more complex, and has a gzipped size of about 10x that.
It'll have to be up to you whether canvas is the right solution in your use case over SVG!