Old school D3 from simpler times
Pan & Zoom V
This example demonstrates how to fixate d3-zoom on a point of interest: zooming using the wheel or touch is allowed, but panning is not. When a zoom event is emitted, the current transform is translated to put the focus point at the center of the viewport:
var point = transform.invert(center);
transform = transform.translate(point - focus, point - focus);
Compare this to non-fixated zooming.