Example usage for org.jfree.chart.plot Zoomable zoomRangeAxes

List of usage examples for org.jfree.chart.plot Zoomable zoomRangeAxes

Introduction

In this page you can find the example usage for org.jfree.chart.plot Zoomable zoomRangeAxes.

Prototype

public void zoomRangeAxes(double factor, PlotRenderingInfo state, Point2D source);

Source Link

Document

Multiplies the range on the range axis/axes by the specified factor.

Usage

From source file:net.sf.mzmine.chartbasics.ChartLogicsFX.java

/**
 * Auto range the range axis/*from w ww .  j av  a2  s .c o  m*/
 * 
 * @param myChart
 * @param zoom
 * @param autoRangeY if true the range (Y) axis auto bounds will be restored
 */
public static void autoRangeAxis(ChartViewer myChart) {
    XYPlot plot = (XYPlot) myChart.getChart().getPlot();
    if (plot instanceof Zoomable) {
        Zoomable z = plot;
        Point2D endPoint = new Point2D.Double(0, 0);
        PlotRenderingInfo pri = myChart.getRenderingInfo().getPlotInfo();
        z.zoomRangeAxes(0, pri, endPoint);
    }
}

From source file:net.sf.mzmine.chartbasics.ChartLogicsFX.java

/**
 * Auto range the range axis// w w  w .  j  a v  a  2s .c  om
 * 
 * @param myChart
 * @param zoom
 * @param autoRangeY if true the range (Y) axis auto bounds will be restored
 */
public static void autoAxes(ChartViewer myChart) {
    XYPlot plot = (XYPlot) myChart.getChart().getPlot();
    if (plot instanceof Zoomable) {
        Zoomable z = plot;
        Point2D endPoint = new Point2D.Double(0, 0);
        PlotRenderingInfo pri = myChart.getRenderingInfo().getPlotInfo();
        boolean saved = plot.isNotify();
        plot.setNotify(false);
        z.zoomDomainAxes(0, pri, endPoint);
        z.zoomRangeAxes(0, pri, endPoint);
        plot.setNotify(saved);
    }
}

From source file:de.hs.mannheim.modUro.controller.diagram.fx.interaction.ZoomHandlerFX.java

@Override
public void handleMouseReleased(ChartCanvas canvas, MouseEvent e) {
    Plot p = canvas.getChart().getPlot();
    if (!(p instanceof Zoomable)) {
        return;//from www. j av  a2 s. com
    }
    boolean hZoom, vZoom;
    Zoomable z = (Zoomable) p;
    if (z.getOrientation().isHorizontal()) {
        hZoom = z.isRangeZoomable();
        vZoom = z.isDomainZoomable();
    } else {
        hZoom = z.isDomainZoomable();
        vZoom = z.isRangeZoomable();
    }

    boolean zoomTrigger1 = hZoom && Math.abs(e.getX() - this.startPoint.getX()) >= 10;
    boolean zoomTrigger2 = vZoom && Math.abs(e.getY() - this.startPoint.getY()) >= 10;
    if (zoomTrigger1 || zoomTrigger2) {
        Point2D endPoint = new Point2D.Double(e.getX(), e.getY());
        PlotRenderingInfo pri = canvas.getRenderingInfo().getPlotInfo();
        if ((hZoom && (e.getX() < this.startPoint.getX())) || (vZoom && (e.getY() < this.startPoint.getY()))) {
            boolean saved = p.isNotify();
            p.setNotify(false);
            z.zoomDomainAxes(0, pri, endPoint);
            z.zoomRangeAxes(0, pri, endPoint);
            p.setNotify(saved);
        } else {
            double x = this.startPoint.getX();
            double y = this.startPoint.getY();
            double w = e.getX() - x;
            double h = e.getY() - y;
            Rectangle2D dataArea = canvas.findDataArea(this.startPoint);
            double maxX = dataArea.getMaxX();
            double maxY = dataArea.getMaxY();
            // for mouseReleased event, (horizontalZoom || verticalZoom)
            // will be true, so we can just test for either being false;
            // otherwise both are true
            if (!vZoom) {
                y = dataArea.getMinY();
                w = Math.min(w, maxX - this.startPoint.getX());
                h = dataArea.getHeight();
            } else if (!hZoom) {
                x = dataArea.getMinX();
                w = dataArea.getWidth();
                h = Math.min(h, maxY - this.startPoint.getY());
            } else {
                w = Math.min(w, maxX - this.startPoint.getX());
                h = Math.min(h, maxY - this.startPoint.getY());
            }
            Rectangle2D zoomArea = new Rectangle2D.Double(x, y, w, h);

            boolean saved = p.isNotify();
            p.setNotify(false);
            double pw0 = percentW(x, dataArea);
            double pw1 = percentW(x + w, dataArea);
            double ph0 = percentH(y, dataArea);
            double ph1 = percentH(y + h, dataArea);
            PlotRenderingInfo info = this.viewer.getRenderingInfo().getPlotInfo();
            if (z.getOrientation().isVertical()) {
                z.zoomDomainAxes(pw0, pw1, info, endPoint);
                z.zoomRangeAxes(1 - ph1, 1 - ph0, info, endPoint);
            } else {
                z.zoomRangeAxes(pw0, pw1, info, endPoint);
                z.zoomDomainAxes(1 - ph1, 1 - ph0, info, endPoint);
            }
            p.setNotify(saved);

        }
    }
    viewer.hideZoomRectangle();
    this.startPoint = null;
    canvas.clearLiveHandler();
}

From source file:de.xirp.ui.widgets.custom.XChartComposite.java

/**
 * Restores the auto-range calculation on the range axis.
 *//*from   www.  j a  v  a2  s.c om*/
public void restoreAutoRangeBounds() {
    Plot p = this.chart.getPlot();
    if (p instanceof ValueAxisPlot) {
        Zoomable z = (Zoomable) p;
        z.zoomRangeAxes(0.0, this.info.getPlotInfo(), SWTUtils.toAwtPoint(this.zoomPoint));
    }
}

From source file:org.mwc.cmap.grideditor.chart.FixedChartComposite.java

/**
 * Decreases the length of the range axis, centered about the given coordinate
 * on the screen. The length of the range axis is reduced by the value of
 * {@link #getZoomInFactor()}.//from ww  w.  j  ava  2 s. co m
 * 
 * @param x
 *          the x-coordinate (in screen coordinates).
 * @param y
 *          the y coordinate (in screen coordinates).
 */
public void zoomInRange(final double x, final double y) {
    final Plot p = this.chart.getPlot();
    if (p instanceof Zoomable) {
        final Zoomable z = (Zoomable) p;
        z.zoomRangeAxes(this.zoomInFactor, this.info.getPlotInfo(),
                translateScreenToJava2D(new Point((int) x, (int) y)));
    }
}

From source file:org.mwc.cmap.grideditor.chart.FixedChartComposite.java

/**
 * Increases the length the range axis, centered about the given coordinate on
 * the screen. The length of the range axis is increased by the value of
 * {@link #getZoomOutFactor()}.//from  w w  w  .j  av a  2s.co m
 * 
 * @param x
 *          the x coordinate (in screen coordinates).
 * @param y
 *          the y-coordinate (in screen coordinates).
 */
public void zoomOutRange(final double x, final double y) {
    final Plot p = this.chart.getPlot();
    if (p instanceof Zoomable) {
        final Zoomable z = (Zoomable) p;
        z.zoomRangeAxes(this.zoomOutFactor, this.info.getPlotInfo(),
                translateScreenToJava2D(new Point((int) x, (int) y)));
    }
}

From source file:com.munch.exchange.ExchangeChartComposite.java

/**
 * Restores the auto-range calculation on the range axis.
 *//*from   w  ww  .  ja  va 2  s  .  co m*/
public void restoreAutoRangeBounds() {
    Plot p = this.chart.getPlot();
    if (p instanceof ValueAxisPlot) {
        Zoomable z = (Zoomable) p;
        // we need to guard against this.zoomPoint being null
        org.eclipse.swt.graphics.Point zp = (this.zoomPoint != null ? this.zoomPoint
                : new org.eclipse.swt.graphics.Point(0, 0));
        z.zoomRangeAxes(0.0, this.info.getPlotInfo(), SWTUtils.toAwtPoint(zp));
    }
}

From source file:org.mwc.cmap.grideditor.chart.FixedChartComposite.java

/**
 * Restores the auto-range calculation on the range axis.
 *//*  www . j  a v  a 2  s. co  m*/
public void restoreAutoRangeBounds() {
    final Plot p = this.chart.getPlot();
    if (p instanceof ValueAxisPlot) {
        final Zoomable z = (Zoomable) p;
        // we need to guard against this.zoomPoint being null
        final org.eclipse.swt.graphics.Point zp = (this.zoomPoint != null ? this.zoomPoint
                : new org.eclipse.swt.graphics.Point(0, 0));
        z.zoomRangeAxes(0.0, this.info.getPlotInfo(), SWTUtils.toAwtPoint(zp));
    }
}

From source file:com.isti.traceview.common.TraceViewChartPanel.java

/**
 * Decreases the length of the range axis, centered about the given coordinate on the screen.
 * The length of the range axis is reduced by the value of {@link #getZoomInFactor()}.
 * /*from   w  ww  . j  ava2s.c om*/
 * @param x
 *            the x-coordinate (in screen coordinates).
 * @param y
 *            the y coordinate (in screen coordinates).
 */
public void zoomInRange(double x, double y) {
    Plot p = this.chart.getPlot();
    if (p instanceof Zoomable) {
        Zoomable z = (Zoomable) p;
        z.zoomRangeAxes(this.zoomInFactor, this.info.getPlotInfo(),
                translateScreenToJava2D(new Point((int) x, (int) y)));
    }
}

From source file:com.isti.traceview.common.TraceViewChartPanel.java

/**
 * Increases the length the range axis, centered about the given coordinate on the screen. The
 * length of the range axis is increased by the value of {@link #getZoomOutFactor()}.
 * //from   w ww. j a  v  a 2 s .  co m
 * @param x
 *            the x coordinate (in screen coordinates).
 * @param y
 *            the y-coordinate (in screen coordinates).
 */
public void zoomOutRange(double x, double y) {
    Plot p = this.chart.getPlot();
    if (p instanceof Zoomable) {
        Zoomable z = (Zoomable) p;
        z.zoomRangeAxes(this.zoomOutFactor, this.info.getPlotInfo(),
                translateScreenToJava2D(new Point((int) x, (int) y)));
    }
}