d3.js has a steep learning curve so it is a good idea to read several tutorials before diving in and trying to create your own visualization from scratch.
The Hitchhiker’s Guide to d3.js is a wonderfully-written resource that explains the context for how d3.js works and how all the pieces can be used to create your desired visualizations.
d3.js first steps contains the code and markup for building your first d3.js visual.
Reusable and extendable d3 charts is a natural extension of the d3 plugin post. It shows how to reuse visualization code between multiple visuals.
Visualizing Movement Data - Part I provides a detailed example of how to draw a complex visualization.
This Fantasy Map Generator is such a cool example of what d3.js can procedurally generate based on a set of inputs.
Argyle in d3? Oh yes, the library can do that, and here is the code to prove it.
D3 is not a data visualization library breaks down the parts to D3 and why it's not directly comparable to a typical charting library.
Resize to Scale with d3.js gives code for a render function that adjusts the size of the viewing window based on the parent element for the visualization.
Responsive Data Visualization provides another approach for making responsive D3.js charts.
How to make a modern dashboard with NVD3.js uses the NVD3.js library that works as an abstraction on top of d3.js to create charts. The post puts together several charts to show how to build a dashboard based on public JSON data.
d3-regression is a module for calculating statistical regressions from two-dimensionala data.
This visualization of d3.js modules and resources is a wonderful map for understanding how various parts of the library and the ecosystem fit together. The visual provides a useful map for where to concentrate your learning depending on what type of visualization you are working to build.
D3.js in Action, Second Edition is partially an announcement for the authors book but also contains good context for who uses D3 and why its usage continues to grow.