A major project that I've been working on has just been released:
It's been open sourced and it contains a few interesting tricks. The coffeescript code isn't commented so I wanted to provide links to how things work:
* Distortion on geographic map:
This is used in all of the maps. To shift a single point, you project it out of the geo plan and onto the page (from lat/long to x/y). Then you call the fisheye on it to shift the point within the x/y plan away from the mouse cursor. After that, you invert the projection and bring it back to geo so that it can later be used. Also, be careful about the types of your features and how to map over the polygons.
* Dynamic tooltips (on the bubbles):
This uses the bootstrap tooltip plugin to put tooltips on each of the bubbles. (I've been writing a
plugin for d3 to do this without jQuery; getting closer to being useful).
* Updating Rickshaw charts on mouse dragging:
* Adding new series of data to Rickshaw:
* And, finally, linkable state (via backbone)
This is a pretty standard implementation of using backbone's router. Each "page" has it's own link, both with and without arguments. If it has arguments, then the variables are reset before everything gets drawn and updated. Note that this allows for both linkable state and for the use of the back button to switch between graphics.
Overall, it doesn't fully take advantage of backbone's views. That should change with the next one though.
I'd be happy to answer any questions about it that anybody might have.
-Zack