This website shows everything that's amazing about the internet and about web development, when done right.<p>There are no popups, cookie warnings, ads or other cruft. It's informative, exquisitely designed, interactive in the right places, it loads fast and everything fits together perfectly.<p>I'm in awe.
If building interactive charts with D3 leads to beautiful interactive blog posts like this one, combining code and visuals in a seamless way — well, then, sign me up!<p>(This introductory post is by the author of “Fullstack D3 and Data Visualization”, a book notable for, among other things, having the coolest front cover in existence: <a href="https://www.fullstack.io/fullstack-d3" rel="nofollow">https://www.fullstack.io/fullstack-d3</a>)
Is it just me or is D3 absurdly complicated for making a simple chart? I look through that tutorial and I ask myself why I'd go to the trouble of coding a chart from scratch when I've presumably already spent time analyzing and cleaning a dataset and am looking to make it presentable to an audience.<p>If I had to go with a custom design, I'd use HighCharts (free for non-commercial use) or ChartsJS (free), which already have these basic functions (interactive hover tooltips with supplementary data) built in. Just declare your data variable and specify your chart type, and that's it. You can also modify the CSS to change the look and feel. Non-coders could build a dash in Google Data Studio, PowerBI or Tableau and export it for embedding on the web.<p>Don't get me wrong, I've seen Mike Bostock's D3 gallery and yes, it's ideal for making incredibly elaborate, artistic data visualizations. But a line chart should be simple.
I make no assertion about its ease-of-implementation, niceness, or performance, but I love love love creating charts with D3 - there's an elegance to it that just speaks to me over the alternative graphing libraries in js.
Also see Dashing D3 (how I learned).<p><a href="https://www.dashingd3js.com/" rel="nofollow">https://www.dashingd3js.com/</a>