3 ms·
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 i
by lucisferre 2y ago
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.
- gedy 2y agoYes same, and I'm curious of what mental modal it uses as it does not register with me, who otherwise has no problem programming.
- asdman123 2y agoAs far as I remember it is inspired by the Grammar of Graphics, as is ggplot2 in the R ecosystem: https://link.springer.com/book/10.1007/0-387-28695-0 https://link.springer.com/book/10.1007/0-387-28695-0 For me it also always had this moment when it „clicked“ just to disappear after not using it for a couple of months.
- ethbr1 2y agoSounds like it's based on a good model for the problem space, but a model that's alien to other day-to-day ones. Which is an interesting problem! Is it better to optimally model ones problem space? Or suboptimally model it, but create a model that's closer to developer/user expectations?
- grob-gambit 2y agoThat is exactly it. A big part of the mental model is understanding the concept of tidy data from Hadley Wickham too. I could not understand some of the design choices until I understood tidy data and not being much into R, I never ran across the idea previously. Mike Bostock is so brilliant and has put in such an immense amount of work into d3 that if you even start trying to build your own data visualization javascript library you will end up leveraging d3 at some point as to not reinvent the wheel.
- groggo 2y agoSo happy to read this in a few different comments. I took a data-viz class in college and just felt stupid because d3 didn't click for me.
- paulftw 2y agoUsed d3 on two different react projects. Charts weren’t the main feature but quite big still. When the dust settled I got a feeling React+SVG had made d3 obsolete - there’s some value in d3 zoom and interaction code, but their intricate system of data sources and auto updating views felt out of time. Maybe it was cutting edge stuff during jquery years, but modern FE frameworks do it better nowadays. Without the need to learn yet another api. Again, I’m not an expert on d3, just someone who spent ~12-18months maintaining couple visualizations (among other things)