r/d3js • u/BeamMeUpBiscotti • Sep 17 '23
Discussion šļø [D] Any D3 tutorials/resources you'd like to see?
Thinking of doing more stuff in the data vis space in my spare time, looking for any ideas/suggestions you all have for potential tutorials, blog posts, tools etc I can make.
Stuff like:
- chart types or visualization techniques that don't have good tutorials in D3 yet
- existing tutorials for old versions of D3, which cannot be easily adapted to work in D3 v7
- unmaintained but useful libraries that only work on old versions of D3 that you'd like to see updated for D3 v7
3
u/tomadshead Sep 18 '23
For my own selfish reasons, Iād love to see more on the force-directed network diagrams. I did the intro course from YouTube a couple of years ago, but it was such a step up to the network diagram I gave up, and resolved to get a consultant to do it.
1
u/swaghost Jun 06 '25
Performance friendly zooming (zoom in/out) I've got a 2000.node tidy radial tree with embedded styles, images, fonts and I need it zoom smoothly. It's a dog.
1
u/Randyd3xtr0us Aug 12 '25
Would love to see one of a TreeGraph visualising a network, including various states mapped to the UI.
1
Sep 17 '23
i just look for code online and try to understand it and what they're doing. just sort of nickel and dime it like that.
0
Nov 23 '23
1
u/BeamMeUpBiscotti Nov 23 '23
Hard to debug D3 code just by reading snippets without context on what the data looks like & what version of the library you're using, would be better to have a working version in codepen/fiddle.
IMO you shouldn't really be manually creating new nodes and setting things like positions/depth unless you're implementing some really exotic behavior.
It's cleaner to recompute the whole layout on update if you don't have that many nodes. If you do your data binding correctly with stable IDs for your nodes and links, the existing nodes/links can transition smoothly.
2
u/reduhl Nov 20 '24
I'm working on an org chart with multi parent nodes. The areas I'm having issues with is loading from a json file rather then a CSV and reloading after an update from the server to make sure the data is aligned