this isn't anything serious -- just a bunch of little examples and notes to
myself as i learn d3. chris was interested in this, so now it's somewhere
other than just my laptop. :D
it's hard to resist the awesomeness of good d3 galleries like this, and also this.
-
thinking with joins explains the data join, which is the core concept in d3. as expected, there are a ton of interesting links from here, all of which are interesting.
-
how selections work explains how selections are implemented; this turns out to be surprisingly useful for understanding how to think about them.
-
andrew montalenti gave a nice pydata talk about "rapid data viz", and there's a corresponding set of slides. it's a little more focused on easy ways to get to vaious js/viz bits from python (which makes sense, given the venue), but there's a lot of interesting stuff there.
-
cynthia brewer did a bunch of work on better default color combinations, specifically focused around maps. of course, mike bostock has a post pulling that info into d3. i definitely think the colorbrewer stuff is prettier, and my partly-colorblind officemate heartily agrees.
-
d3 for HTML is this great post by tom macwright where he points out that the pattern used for mapping data -> svg elements in d3 works just as well when you want to do data -> divs/list items in pure html. then he builds out an awesome address book app on d3.
there were two really nice interviews on data stories:
-
jeff heer gave a really nice perspective on the history of the projects leading up to d3. in particular, he really highlights why not being a system-unto-itself is a big win.
-
mike bostock and shan carter showed up and talked d3 and what they do at the NYT. super interesting.
-
mike bostock at eyeo is also fantastic -- but maybe i'm biased because i've always loved examples, too. (this makes my particular choice of advisor quite curious.)
-
vega is a higher-level description language built with d3 as basically its primary implementation.
-
nvd3 builds a common set of components on top of d3; looks nice, but i haven't used it at all.
-
dygraphs is a completely independent library -- like nvd3 with no d3 underneath. in particular, though, it seems to be focused on "really good defaults" -- it's hard to overstate what a good idea that is.
-
mpld3 is trying to render matplotlib graphics on top of d3; i've got a slew of mpl graphics i'm stuck with elsewhere, i'm planning on use this as a shim from the 1990s into modern times.
for me at least, this one's a transition tool, not an end in itself. i think i differ from the crowd on that part -- some people like mpl. (i think that's called stockholm syndrome?)