Climbing the d3.js Visualisation Stack
Help is at hand, though, in the form of several libraries that build on top of d3.js to provide a rather more direct path between getting your data into a web page and displaying it. Here are a few of the ones I’ve come across:
- NVD3 – one of the more mature libraries, includes line charts, scatterplots (and bubble charts), bar charts (grouped or stacked), stacked area charts
- xcharts – nicely animated line charts and bar charts
- dimple.js – “aims to give a gentle learning curve and minimal code to achieve something productive”
- Vega, “a visualization grammar, a declarative format for creating, saving and sharing visualization designs”. I think this probably sits somewhere between basic chart types and d3.js, so whilst it’s a step-up from d3.js, it’s not quite as “high level” as NVD3 and xcharts, for example.
The aim of these libraries is to wrap the lower level d3.js building blocks with function calls that allow you to call on preconfigured chart types, albeit corresponding to familiar charts.
- Crossfilter – explore large, cross-linked multivariate datasets in the browser
- cubism.js – produce scalable, and realtime animated, time series visualisations
- JSNetworkX – a library that builds on several other toolkits and approaches, including d3.js, to provide a library that support the construction, manipulation and display of networks in the browser.
- d3py – generate d3.js powered webpages from Python using the Pandas library
So – what are you waiting for…? Why not have a go at generating one of your own interactive browser based visualisations right now…:-)