Data is the new medium of choice for telling a story or presenting compelling information on the Internet and d3.js is an extraordinary framework for presentation of data on a web page.
It's not written for experts. It's put together as a guide to get you started if you're unsure what d3.js can do. It reads more like a story as it leads the reader through the basics of line graphs and on to discover animation, tooltips, tables, interfacing with MySQL databases via PHP, sankey diagrams, force diagrams, maps and more...
Because in the process of learning things, it's a great way to remember them if you write them down :-).
As a result, learning how to do cool stuff with D3 meant that I accumulated a sizeable number ways to help me out when the going got tricky. Then I realised that these could be useful for others who were trying out d3.js and who were at a similar knowledge level.
So here we are! A collection of tips and tricks for d3.js written by a noob for people who might consider that they're in the same situation :-).
I've captured the appropriate code (in cool looking coloured text) and added in heaps of illustrations of what's going on so that you will get more traction at the start of your learning process than I did.
Please consider this an opportunity for you to contribute back to the Open Source community that makes products like d3.js possible. If you find something that can be improved about the book or think there's something that can be added, just let me know!
The book has a lot of information in it, but there's still more to come. Currently (at time writing) it counts up to about 500 pages, so it's not a short read but I've tried to pitch it in sections so that if you find something interesting, you can read parts in isolation. There's a sizeable amount of content on the d3noob.org blog site from the book and hopefully between the two, people will find a way that will help them improve. I have a long list of additional material that I want to add, so I'm hoping that publishing using Leanpub will allow readers to get easy notification of when updates and improvements are made.
I'm making the manual available for free because I think it's a great way to give something back to the community as a whole, but if you find some value in the book, please consider contributing 99 cents when you download it so that Leanpub get something for hosting the book and providing such an awesome service (50 cents is their flat cut of any book sales and 99 cents is the minimum (apart from $0) that they will allow for a sale).
(Don't be put off by the button at the top saying 'Buy the ebook now'. Once you click on it, you can select any price you want including $0!)
So I hope you get something out of the book, please excuse the sometimes light-hearted conversational manner in which I approach the topic and enjoy D3!
"Thanks, super helpful!" - Davo
"Thanks for the help (reading through your book now, and it's awesome!)" - Jared
"Thank you for doing this. I've been looking for something like this for a while." - Marla
"You have just inspired me to give Sankey a fresh new face in Dex" - Patrick
"Thank you - exactly what I was looking for explained clearly and succinctly" - Anon
"Much appreciated. Excellent tutorial" - Anon
"Thanks!! This help rocks" - greencracker
"Thx for book. It's awesome." - Michael Guimet
Used as a teaching resource at the Dublin Institute of Technology for Data Visualization.
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up. See full terms.
If you buy a Leanpub book you get all the updates to the book for free! All books are available in PDF, EPUB (for iPad) and MOBI (for Kindle). There is no DRM. There is no risk, just guaranteed happiness or your money back.
transform (translate(x,y), scale(k), rotate(a))