Hi!

I think I found a bug in the zooming code in CombinedDomainXYPlot

Currently, the anchor is not set correctly when scroll zooming. When we zoom with the mouse over one subplot, my change fixes to use the correct anchor. When we zoom with the mouse over no subplot, for example over a border, the previous behaviour was incorrect, but I was unsure what to replace it with. In this code it becomes an unanchored zoom.

Previous
------------------------------------------
    public void zoomRangeAxes(double factor, PlotRenderingInfo state,
                              Point2D source, boolean useAnchor) {
        // delegate 'state' and 'source' argument checks...
        XYPlot subplot = findSubplot(state, source);
        if (subplot != null) {
            subplot.zoomRangeAxes(factor, state, source, useAnchor);
        }
        else {
            // if the source point doesn't fall within a subplot, we do the
            // zoom on all subplots...
            Iterator iterator = getSubplots().iterator();
            while (iterator.hasNext()) {
                subplot = (XYPlot) iterator.next();
                subplot.zoomRangeAxes(factor, state, source, useAnchor);
            }
        }
    }
--------------------------------------------
My proposed fix
--------------------------------------------
    public void zoomRangeAxes(double factor, PlotRenderingInfo state,
                              Point2D source, boolean useAnchor) {
        // delegate 'state' and 'source' argument checks...
       
        int subplotIndex = state.getSubplotIndex(source);
       
        if (subplotIndex >= 0) {
            XYPlot subplot = (XYPlot) getSubplots().get(subplotIndex);
            subplot.zoomRangeAxes(factor, state.getSubplotInfo(subplotIndex), source, useAnchor);
        }
        else {
            // if the source point doesn't fall within a subplot, we do the
            // zoom on all subplots...
            int n = getSubplots().size();
            for (int i = 0; i < n; ++i) {
                XYPlot subplot = (XYPlot) getSubplots().get(i);
                subplot.zoomRangeAxes(factor, state.getSubplotInfo(i), source, false);
            }
        }
    }
------------------------------------------