This example is a mashup of the D3 Spline and Zoom-Pan examples along with Ricardo Marimon's example of X-axis re-scaling by dragging.
source: gist.github.com/1182434
There's still a bug where if you scale an axis once, you can then translate/pan around but if you scale the same axis a second time when you next try and translate/pan the result of the first axis re-scale will re-appear. This bug also appears if you re-scale the axes and then add a new data point.
Modified http://mbostock.github.com/d3/d3.js to a secure url
https://mbostock.github.com/d3/d3.js