Variance
variancecharts.com
variancecharts.com
I appreciate the clarity of the "What makes Variance unique?" and "Where is Variance not a good fit?" sections. Really useful.
As someone who makes a data analysis tool (with a bit of viz thrown in), that's probably something we could do better.
My dev background is in the Clojure community, where Rich sets a strong tone about the importance of discussing tradeoffs. We outlined those tradeoffs explicitly on the site because that's always what's on the forefront of my mind when making a technical decision. I'm glad you found it helpful.
Everyone should learn from this: there is no point in overhyping or hiding things — I will discover these tradeoffs eventually anyway, so why not save everyone some time and clarify them upfront?
Also, the pricing and licensing model seems right on. As a consultant, this is the cost of a couple of billable hours. I wouldn't hesitate to use it for a client project where they needed these kinds of graphs. https://variancecharts.com/examples/
I was worried about the hefty price tag until I realized that it was free for non-commercial projects. Will definitely try and play around with it this weekend, as I imagine combining this with basic Python templating could be an even stronger dataviz REPL than mpld3 or vincent.
I toyed with the idea of an explicit data format that could be generated by different tools (I talked about this at the 2012 Clojure/conj https://www.youtube.com/watch?v=xyGggdg31mc). Conceptually that route is cleaner.
However, the reality is that any such scheme requires "escape hatches" to drop into the target representation (be it HTML/CSS, Canvas, &c.). We decided it would be best to embrace a single target, HTML+CSS, rather than try to build an abstraction targeting multiple final rendering systems.
Otherwise this looks awesome.
P.S. Should this be a Show HN? It feels like one.
I tend to prefer horizontal bar to vertical bar charts for English graphics because the label text reads left-to-right, making it easier to read.
It's a good observation though; readers often expect the independent variable to be on the abscissa. We'll be discussing these kinds of graphical decisions in a series of free articles on the site.
That said, remember that Variance was designed to embrace HTML and CSS. You want hover effects? Use a plain ol' CSS selector. If you want something more elaborate, you can definitely just throw some classes onto different parts of your visualization and use other JS libraries like Bootstrap's tooltips.
I need to mess around to see if there is a straightforward way I could get a reference to the underlying data item (the row in the .csv for many of your examples, etc) from the context of a callback that fires on say $('bar').hover() or what have you. Will look into it.
Anyway thanks for answering, and nice work.
If you'd like to build an equivalent open-source library, though, you have my vote.
I just wonder what it is about visualization that lends itself to monetization.
I would argue that among tools written for the layman, the commercial versions seem to be better than their OSS counterparts. This isn't universally true, but people without expertise are often willing to pay some money to not have to develop expertise. When it comes to visualization libraries, there are plenty of high-quality visualization tools that are highly accessible to the experienced developer, but not to the layman. Developers don't have much incentive to make them easier for the layman to use outside of financial motivation.
I really refrain from sending my users data to anyone else, that is without my control. So sadly, as beautiful, as I find this, I have to refrain from using it in my non profit projects.
Also, seems only IE10+ version is supported, wondering what prevents the library from working on IE9, since (I think) svg is supported on v9 as well.
The CSS is broken out into necessary structural bits (where everything is gray, there are no margins, &c.) and then into visual themes. If you aren't a designer, you can just use the stock theme. If you are a designer then you can start from the ground up to build the visual identity that you need.
At no point do you ever have to start throwing `!important` everywhere to override our styling decisions. We intend to release actual SASS/Compass mixins so that you can generate the structural CSS directly in your workflow instead of juggling multiple CSS files and their implicit relationships.
As for IE9, it's all flexbox issues. All of the charts are responsive, and Variance leans on flexbox CSS quite a bit (which IE9 does not support).
In fact, variance-standalone.min.js is about 10kB smaller compared to current d3.min.js = )