Skip to main content
100%

d3-module-faces | more modules

✓ Published0🌍 Public
TThanaporn-sk
Last edited Mar 9, 2017
Created on Mar 9, 2017

This visualization maps d3 modules along logarithmic scales of GitHub stars and NPM downloads, with each module represented as a Chernoff face whose facial features encode other attributes like repository size, contributor count, and issue count. A force simulation positions the faces, while color distinguishes module authors. The code uses `d3.forceSimulation`, `d3.forceX`, `d3.forceY`, `d3.forceCollide`, and a custom force container, with annotations rendered via `d3.swoopyDrag`. Data comes from npms.io.

AI-generated description

now with d3-sankey and d3-hexbin

as requested by @xaranke

an iteration on d3-module-faces | standard notation from @micahstubbs


Original README.md text


an iteration that shows axis tick labels in standard notation.

I found the tickFormat snippet to do this at this stackoverflow answer

along the way, I also fiddled with the width and the annotation placement to get everything inside of the 960px bl.ocks.org frame

an iteration on d3-module-faces from @adamrpearce


To visualize the d3 modules being used, I made a qr. By transforming many different attributes of our dataset into friendly glyphs, Chernoff faces allow us to understand multidimensional datasets. The encoding scheme is probably self explanatory, but I've included it below just in case:

'face':  ƒ('dependentsCount')
'hair':  ƒ('description', 'length')
'mouth': ƒ('downloads')
'nosew': ƒ('githubContributers')
'noseh': ƒ('githubIssues')
'eyew':  ƒ('githubStars')
'eyeh':  d => Math.random()
'brow':  ƒ('repoSize')

I used the following modules:

Data is from nprms.io - see download-data.js to your generate your own listing of modules with different data points.

forked from <a href='http://bl.ocks.org/micahstubbs/'>micahstubbs</a>'s block: <a href='http://bl.ocks.org/micahstubbs/264454a671a6785cbc652cd79460fd2f'>d3-module-faces | more modules</a>

ISC Licensed

Similar vizzes