D3, Conceptually

Lesson 0: Preface

originally published 26 november, 2012


0.1 Preface
If you don't know what D3 is, the short answer is "a Javascript library people use to make cool charts". The long answer is, as expected, much longer. This tutorial hopes to bridge some of that distance. It is a work-in-progress.
D3 is a powerful tool, but you know how that saying goes: "With great power comes a conceptually clean library with a learning curve like a wall". Or something like that. D3 has a base consisting of few concepts - selections, data, and values - but it builds a smorgasbord of powerful features on top of that. And if your understanding in that base is a little unstable, you might find yourself confused more often than enlightened.
Because D3 is really a beautiful little library, enlightening in how it solves the problem of turning data into documents. And it would be a shame if you didn't enjoy using it.
This tutorial assumes you know about HTML and CSS, as well as some JS. It doesn't do anything too fancy with JS, but I'm not feeling up to the challenge of teaching both a programming language and a library for it that is, roughly, another language. One is enough for me, thank you very much.
You won't need any tools, though to play along at home I'd recommend getting the library, setting up a skeleton page that includes it, and becoming comfortable with the JS console in your browser of choice.