I've always been curious on what Mike would do if he could completely rewrite D3. I saw some experiments with a declarative API [0] which seems really interesting.<p>It seems like the main learning curve for learning D3 is deeply understanding the underlying web technologies (looking at you SVG), so could something D3-like have a more abstracted renderer?<p>Anyway, once you use Observable - Jupyter notebooks are forever ruined, which is the highest praise I can give. Thanks for all your hard work Mike!<p>[0] <a href="https://observablehq.com/@unkleho/introducing-d3-render-truly-declarative-and-reusable-d3" rel="nofollow">https://observablehq.com/@unkleho/introducing-d3-render-trul...</a>
The first few days I used d3, I really struggled. And I got very frustrated. I simply couldn’t understand why the library was so popular. But I powered through because people whose thought patterns I respected, swore by it.<p>Then I read some blog post somewhere. I wish I could give that author the credit they deserved. It explained the fundamental building blocks of d3, the selection APIs, etc with such clarity.<p>Once the light bulb went off, I was able to quickly iterate on some pretty awesome totally custom stuff quickly and have sung d3’s praises ever since (it’s been 5 years).
We are hosting a d3 meetup online Thursday 8/27 (tomorrow) more info here:
<a href="http://meetu.ps/e/Jh8GY/1kwFr/d" rel="nofollow">http://meetu.ps/e/Jh8GY/1kwFr/d</a><p>Mike Bostock will be doing an AMA at the end if you have burning d3v6 questions (though you can expect some more documentation on upgrading to come very soon!)<p>I'll also plug our other two speakers, Mike Freeman and Amelia Wattenberger who are amazing d3 educators & authors.<p>It's exciting that this is the first big online d3 meetup since the pandemic put a stop to in-person events, and as a consequence of being online anyone can participate!
For those looking for higher level interfaces for interactive visualization via D3, check out Vega/Vega-Lite [1] and Altair [2] (a Python library based on Vega-Lite).<p>[1] <a href="https://vega.github.io/" rel="nofollow">https://vega.github.io/</a>
[2] <a href="https://altair-viz.github.io/" rel="nofollow">https://altair-viz.github.io/</a>
[3] <a href="https://vega.github.io/vega/about/vega-and-d3/" rel="nofollow">https://vega.github.io/vega/about/vega-and-d3/</a>
I just wish all the cool animated examples of D3 were updated to use the latest version of the library.<p>Mike had such cool and colorful ideas for the web 8 years ago which still wow supporters of any project. But I have had to spend significant time and money updating things to work with Vue or React while simultaneously trying to figure out what changed across versions of D3 while simultaneously trying to figure out what the inherited version of D3 was even doing.<p>Mike seems to have opted for more practical designs in the latter half of the decade in his exploration of data visualizations. While other contributors lack inspiration of using this as an art form.
Does the full adoption of ES6 modules result in trivial tree shaking? I’ve found that’s one of my favourite effects of libraries adopting the newer module styles<p>Edit: it’s modular but the modules I peeked at have sideEffects set and look pretty clean. I’m excited to see what I can do and keep tiny bundles! (I’m obsessed lately with making neat gadgets that load instantly)
As a former Protovis user whose mouth hit the floor the day he discovered D3, I never cease to be amazed at the quality of work Mike does. Thanks, Mike!
Sankey diagrams are still blowing enterprise minds in 2020. I don't know what award it would be, but it should be important, and the author should get it.
Is anybody else annoyed by how tightly coupled D3.js is with <a href="https://observablehq.com" rel="nofollow">https://observablehq.com</a>?<p>It's basically impossible to get started with D3 without using the Observable online playground, I find it so frustrating.
Which wrapper library around d3 that's declarative would people recommend? I'm thinking something where I can swap the state in React between renders and it updates intelligently with animations etc.
It seems like a very versatile framework, but nowhere I can find any recipe or guide of a very simple case - how to combine different types of charts in one? Like simple line chart overlaying the bar chart. It seems to be only possible by rendering them as completely separate charts and then overlaying one on top of each other in DOM? Which seems hacky.
Oh, D3.js is awesome, and all the cool visualizations that I saw over the years makes me glad it exists.<p>Let's share our creations here!<p>Here's mine: a tech tree using D3.js made many years ago:
<a href="https://github.com/ldd/tech-tree-js" rel="nofollow">https://github.com/ldd/tech-tree-js</a>
Awesome, I’m always shocked by how much D3 has to offer and the quality amount of time + effort Mike Bostock continues to invest into the project.<p>On a different note, hoping the CORS issued I received when using a v6 version d3-fetch with local files got updated
I love D3. I tried plenty of other higher level libraries but very quickly you run into customization issues. So for Backtest (<a href="https://backtest.curvo.eu/" rel="nofollow">https://backtest.curvo.eu/</a>), I moved all the charts to D3. It's a bit lower level and was more work to set up initially, but now I'm in full control and can easily extend any chart. D3 is a great piece of software!
I use d3 in my map generator app. I’ll look into this update to add and rewrite some of the features. Labels have been an issue lingering around for too long.
I love D3, have been using it on and off for years.<p>The biggest pain point I have coming back to it - esp after a release or two - are the scope of the changes!!<p>Many methods and properties have changed thus most of the examples, blog posts, and stackoverflow assistance are outdated so it generally takes much longer than I had hoped - but the results are always worth it.
For me, a data scientist, learning D3 feels so far off since the background needed to learn it seems vastly connected with some notion of frontend concepts, which for me are very foreign. And honestly, I don't care much about UI programming.<p>Is this impression correct? Is there a way around this? A learning source that covers both?
Just won't render, at all, for me. Lotta "Notebook not responding. There may be an infinite loop that has crashed this notebook, or a notebook open in another tab.".<p>So why should something happening in another tab be allowed to mess anything up? (Not that there is anything.)<p>No, sir, I didn't like it.