Implementing zoom and pan behavior
Zooming and panning are common and useful techniques in data visualization, which work particularly well with SVG based visualization since vector graphic does not suffer from pixelation as its bitmap counterpart would. Zooming is especially useful when dealing with large data set when it is impractical or impossible to visualize the entire data set, thus a zoom and drill-down approach needs to be employed. In this recipe we will explore D3's built-in support for both zooming and panning.
Getting ready
Open your local copy of the following file in your web browser:
https://github.com/NickQiZhu/d3-cookbook/blob/master/src/chapter10/zoom.html.
How to do it...
In this recipe we will implement geometric zooming and panning using D3 zoom support. Let's see how this is done in code:
<script type="text/javascript"> var width = 960, height = 500, r = 50; var data = [ [width / 2 - r, height / 2 - r], [width / 2 - r, height / 2 + r], ...