I have used D3 extensively to the point of building integrations for AngularJS and Angular for it. I have always found it to be exceptionally unintuitive even if it is quite powerful. It is easy to get wrong, hard to debug and hard to grok.
Not saying this is an easy problem to solve either. If I needed to generate some very specific data driven graphics it would probably still be my go to.
Not saying this is an easy problem to solve either. If I needed to generate some very specific data driven graphics it would probably still be my go to.