The host of plotting products developed on top of D3.js provide a perfect illustration of this trade-off between ease-of-implementation and flexibility in crafting output. We've reached the point where D3-based charts can be created with a wizard in Excel...that is, if you're ok sticking with the usual complement of two-axis charts. If you eschew these reusable chart libraries and prefer diving into javascript just to plot an X-Y scatter or a bar chart, well, all the more power to you.
Libraries like dimple.js provide an easy way to create D3.js-based charts, so long as the simplicity of your dataset matches the simplicity of the tool. |
What all of these D3-based products omit, however, is the ability to visualize disparate data types at will. You simply can't fire up NVD3.js or dimple.js and turn your Excel data into, for example, a network graph overlaid on a map of the United States.
D3.js enables visualizations that can include several types of data. In this case, geo-coded data, pairwise relationships, and extensive data are displayed simultaneously. |
And so that's why we spend our time developing in D3. It allows us to break out of the X-Y mold of data visualization and layer on additional details that conventional charts omit There's no wizard for it, but the investment in one-of-a-kind visualizations enables analysis that would be impossible if limited to just X and Y.