harmonizing dc.js javascript libraries

128 views
Skip to first unread message

Robert James Liguori

unread,
Dec 8, 2016, 11:22:40 AM12/8/16
to dc-js user group
Please explain how the following relate...

  - dc.js
  - d3.js
  - crossfilter.js
  - angularJS.js
  - queue.js
  - dashboard.js

Also, what is missing for the most popular Javascript libraries harmonizing with DC?

Gordon Woodhull

unread,
Dec 8, 2016, 11:40:32 AM12/8/16
to dc.js user group
I don't know angularJS.js or dashboard.js. Perhaps others can comment how they fit in. The others are standard parts of the dc.js ecosystem.

d3.js is a low level visualization library - it does geometry, it generates XML from data dynamically, and it handles animations. So dc.js uses it to produce SVG.

crossfilter.js is like an in-browser database with a very specific purpose: to allow quick filtering between views on an array of rows of data. Since JS is a compiled language, it can often handle up to 500K rows of data, but you need to reduce that data to hundreds of graphical elements for the browser to render it gracefully.

crossfilter groups can (loosely) be thought of as the model in MVC, where you read the data. crossfilter dimensions can be thought of as the controller, where you determine what to filter.

dc.js draws charts from crossfilter data, and allows filtering on each chart, updating the others with animated transitions.

queue.js is a tiny helper library which allows combining waiting on multiple asynchronous requests, e.g. if you need to fetch two CSVs from the server in order to draw some charts.

Other helpful libraries in this space: crossfilter/reductio makes it easier to build reduce functions for crossfilter, supporting some very complex reductions/aggregations. crossfilter/universe helps build and keep track of crossfilter objects, shielding the user from the complexity of crossfilter.

There's also dc.leaflet.js for drawing linked maps, and Intellipharm/dc-addons which supplies a lot more charts.


--
You received this message because you are subscribed to the Google Groups "dc-js user group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dc-js-user-gro...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dc-js-user-group/89c70660-8df3-4786-a463-045e7148dcb3%40googlegroups.com.

Reply all
Reply to author
Forward
Message has been deleted
0 new messages