Implements constrained zooming of an image put onto an HTML5 Canvas.
After spending many hours trying to get FreeTDS and unixodbc to run on a Mac OS X 10.8 system with the python module, pyodbc, I eventually came to this recipe, which is remarkably simple thanks to homebrew. I also found unixodbc was unnecessary and I couldn't get it to play well with FreeTDS, so this install does not include unixodbc. See also http://www.acloudtree.com/how-to-install-freetds-and-unixodbc-on-osx-using-homebrew-for-use-with-ruby-php-and-perl/ and http://www.cerebralmastication.com/2013/01/installing-debugging-odbc-on-mac-os-x/.
Prerequisites: Be sure you have XCode and the Commandline Tools for XCode installed from Apple. Also install homebrew followed with brew update
and brew doctor
.
Install FreeTDS:
brew install freetds
Test your install:
This is my own mods to http://www.lowindata.com/2013/installing-scientific-python-on-mac-os-x/, which describes a scientific python environment install on Mac OS X. See also https://github.com/fonnesbeck/ScipySuperpack.
Install XCode and Commandline tools for XCode from Apple.
Also install http://mxcl.github.io/homebrew/ and run brew update
and brew doctor
to make sure homebrew is installed correctly.
Then, you can run the following commands (I recommend one at a time so that you can deal with any errors or important warnings):
brew install python
brew install gfortran
pip install --upgrade pip
An alteration to http://bl.ocks.org/mbostock/1667367 that adds a similar vertical zoom axes to the figure.
This D3 example demonstrates using the zoom event and limits the bounds of the zooming to a specified domain. It is largely based on http://bl.ocks.org/jasondavies/3689931, but with bounds. Most of this bounding is done in the refresh function. You need to zoom in before you can pan or zoom out.