I\'m fascinated by both d3 and Raphael. I understand that Raphael is built on top of D3 and that it is cross-browser compatible, but I\'m not sure which one is
Both are different animals.
RaphaelJS simplify and expand the functions for vector graphics based on SVG and VML.
D3js just manipulate the DOM and rely on graphics standards (SVG and Canvas, on Bars graphs you can use DIVs too) to draw. For example d3.svg.symbol()
return the content of the d
parameter to pass it to the path
element on the SVG, but don't draw the symbol by itself.
You can use D3js to manipulate the data and draw it with Raphael.
This blog explain how to combine D3js + Raphael. And check D3 for Raphael implementation too.