
Dimple: An object-oriented API for business analytics powered by D3 - based2
http://dimplejs.org/
======
apatap
[https://dc-js.github.io/dc.js/](https://dc-js.github.io/dc.js/)

~~~
WhitneyLand
Very slick. Wonder if this lib could speed development of custom visuals for
an existing product like Power BI, which are also based on d3
([https://github.com/Microsoft/PowerBI-
visuals](https://github.com/Microsoft/PowerBI-visuals)).

------
sdegutis
I've said it before and I'll say it again, I'm always skeptical of any wrapper
around D3 that tries to make it more reusable. D3 is built with reusability in
mind, considering it uses functions and objects for everything. I wrote 300
lines of D3 that made a graph which has all the features we need, and no
single D3 wrapper library could have provided all that functionality for us,
nor could they be mixed together to provide it for us. That said, I enjoy
seeing new ones come out because they usually offer new ideas for different
ways to visualize data or interact with it.

~~~
jonahx
You see these things because d3 is fairly low level. If I just have some data
and want a bar chart, I basically want to pass the data to "BarChart", with
some possible configuration options.

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.

~~~
IE6
Basically this - we opted for google charts rather than d3 for a few projects
because we wanted to keep the investment low and essentially all we wanted was
barChart() pieChart() methods that we pass data into. Yes we could have built
it once and reused but the uglier google chart was already there.

~~~
sdegutis
That's a good point, and in fact I may look into Google Charts once more.
Thanks for the perspective.

------
trengrj
What is business analytics?

~~~
gravypod
I'm glad I'm not the only one that is confused.

Is it just making graphs about performance?

~~~
confluence
More or less, yes. Past, present and future performance of various business
variables.

~~~
gravypod
It is amazing to me how many industries have similar problems that can be
simply abstracted and applied to a larger scope.

We have profiling, they have "business variable monitoring." I love how the
same program solves both problems, just needs a repackage.

~~~
vyrotek
One key difference that makes business variables more complex to track are the
people involved. You need to connect all theses numbers back to individuals
and teams that don't stay put. Additionally you should probably be comparing
it to ever changing quotas. These aspects come with specific expectations
regarding visuals and options available for reporting.

------
kpil
Hm... That's nice and all, but why this particular technology stack? How do
you typically use internal business data? Is javascript really the best
language for mucking about with large datasets?

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 :-)

~~~
jonahx
With R, you won't be able to create interactive graphics that other people can
explore on a web page, for example. If you need that, I don't think you can
avoid javascript.

~~~
chrisweekly
Shiny does just that: [http://shiny.rstudio.com](http://shiny.rstudio.com)

~~~
jonahx
Well, it just does the JS conversion for you. I guess you can call that
avoiding JS...

~~~
kpil
As long as you don't have to debug the output, yes :-)

------
kfk
Nice, but when is somebody going to create an easy way to build advanced
dashboards on the fly for non coders? That's how Tableau is making a dent on
Ms Excel market share right now.

~~~
vyrotek
[https://www.domo.com/businesscloud](https://www.domo.com/businesscloud) ?

------
JayeshSidhwani
Love the way it drops lines on axes when you hover over the point :-)

------
rambos
plotly.js

~~~
kpil
Ah. Yes.

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!

~~~
tekacs
plotly.js is the MIT licenced[1] charting library released by Plotly, which
you can use to create plots without shipping data to anyone else.

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](https://github.com/plotly/plotly.js/blob/master/LICENSE)

------
jazoom
Plottable was the easiest and most flexible for me to use.

------
sheldor
"Fork me on github" leads to a 404 page.

