edit: any reason you decided not to use D3 for this?
edit: any reason you decided not to use D3 for this?
"Chart.js uses the canvas element, which is a single DOM node, similar in characteristics to a static image. This does mean that it has a wider scope for compatibility, and less memory implications than SVG based charting solutions. The canvas element also allows for saving the contents as a base 64 string, allowing saving the chart as an image.
In SVG, all of the lines, data points and everything you see is a DOM node. As a result of this, complex charts with a lot of intricacies, or many charts on the page will often see dips in performance when scrolling or generating the chart, especially when there are multiple on the page. SVG also has relatively poor mobile support, with Android not supporting SVG at all before version 3.0, and iOS before 5.0. (caniuse.com/svg-html5)."
$('canvas').click(function() { window.open( this.toDataURL("image/png") , 'Serialized Canvas' , 'height=' + this.height + 'width=' + this.width ); });
This will popup a png version of a canvas graph if you click it.
http://omnipotent.net/jquery.sparkline
Is that implementation compatible with your library? I'd love to be able to see exact datapoints.
Also, adding sparklines would make this a great all-in-one charting tool.
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!