D3.js 2.10 Unleashed.
github.com
github.com
It's meant to be easy to extend and wrap. To make it easier to represent (for example) the reading level of a student, you can use the DRA (a common reading metric) wrapper. Rather than describe the _chart_ (x, y coordinates), you describe the _data_ (timestamp, score).
We also invented a new chart - grouped line - to represent complex goals for students. The grouped line chart shows multiple trials in a day/period, rather than boiling data down into a single point. The sample implementation demos a use case.
I would love feedback on the project!
I had some trouble with the tooltips and getting the x-axis to like Date objects, and I really wish all the examples showed the source data (not just some random function that generates the source data), but other than that it is pretty solid for boilerplate charts. The other weird thing is that some charts work without a height attribute on the svg / div element and others don't, and you kinda just have to figure that one out for yourself =)
If you mean you want D3 to support behind-the-scenes mapping from SVG to Canvas, that will never happen. Unlike Dygraphs, D3 is not a charting library, so it doesn’t abstract the underlying representation; with D3, you’re still using the DOM, albeit with a more convenient API. Magically converting SVG to Canvas would be a huge amount of work. And for what? In many cases SVG performance is comparable to Canvas, and SVG offers conveniences that Canvas cannot, such as external styling via CSS, simple declarative event listeners, and the ability to inspect elements.
Dygraphs and D3 seem to be designed for very different use cases. D3 is more about showing smaller data sets in beautiful, unique, creative, and animated ways. Dygraphs is for time series data with lots of data points. So, pick the one that suits your needs :)
built around D3, but canvas rendering for the core graph.
D3 is a toolkit. Its great for binding data to vanilla HTML tables!