Dimple: An object-oriented API for business analytics powered by D3
dimplejs.org
dimplejs.org
You can't do this with raw d3. With d3, you are responsible for drawing and spacing your bars, creating your axes, etc.
This is intentional, of course. d3 aims to give a set of building blocks that you can be used to create any possible visualization you can think of. It's not aiming to be a high-level graphing library with a limited set of pre-built graphs. But those libraries fill a perfectly valid need as well.
D3 does provide quite a lot of out of the box. But if you find yourself outside that box it might be worth doing it yourself.
I fully appreciate nvd3, which can be used to quickly make pretty charts like these http://charts.bitcointicker.co/
Is it just making graphs about performance?
We have profiling, they have "business variable monitoring." I love how the same program solves both problems, just needs a repackage.
There is nothing wrong with building abstractions though. In the end, they will need to be complex too, to be generic enough. I am not sure I like the model though, especially when looking at the advanced examples - it looked like there was a lot of imperative coding going on.
An alternative is using R for analysis work. I think that the hard part is typically getting the data and getting it into shape for plotting. Having done that I am a few lines of code from generating nice charts with ggplot2.
As an example, I have some small scripts that I run (myself or by jenkins) on a somewhat regular basis. They generate and update a bunch of static images attached to Confluence pages, using some loaders in java and analysis and render in R.
They images look extra nice with theme_xkcd :-)
That is also an alternative. Can plot directly to plotly from R too :-)
In my case, I can't send sensitive data around - it might even be illegal, and did not want to shell out a large sum of money for my own personal instance, but for non sensitive stuff or when it's worth the money it seems to be the bees knees!
It can be used from R (IIRC), since the corresponding Plotly library just generates a declarative JSON plot description, which plotly.js can use.
[1]: https://github.com/plotly/plotly.js/blob/master/LICENSE