function unsetSubplotTransform(subplot) {
        var xa = subplot.xaxis;
        var ya = subplot.yaxis;

        fullLayout._defs.select('#' + subplot.clipId + '> rect')
            .call(Drawing.setTranslate, 0, 0)
            .call(Drawing.setScale, 1, 1);

        subplot.plot
            .call(Drawing.setTranslate, xa._offset, ya._offset)
            .call(Drawing.setScale, 1, 1);

        var traceGroups = subplot.plot.selectAll('.scatterlayer .trace');

        // This is specifically directed at scatter traces, applying an inverse
        // scale to individual points to counteract the scale of the trace
        // as a whole:
        traceGroups.selectAll('.point')
            .call(Drawing.setPointGroupScale, 1, 1);
        traceGroups.selectAll('.textpoint')
            .call(Drawing.setTextPointsScale, 1, 1);
        traceGroups
            .call(Drawing.hideOutsideRangePoints, subplot);
    }
transitionAxes

transition axes from one set of ranges to another, using a svg
transformations, similar to during panning.

@param {DOM element | object} gd
@param {array} edits : array of 'edits', each item with
- plotinfo {object} subplot object
- xr0 {array} initial x-range
- xr1 {array} end x-range
- yr0 {array} initial y-range
- yr1 {array} end y-range
@param {object} transitionOpts
@param {function} makeOnCompleteCallback