Example usage for org.jfree.chart.axis ValueAxis getLowerMargin

List of usage examples for org.jfree.chart.axis ValueAxis getLowerMargin

Introduction

In this page you can find the example usage for org.jfree.chart.axis ValueAxis getLowerMargin.

Prototype

public double getLowerMargin() 

Source Link

Document

Returns the lower margin for the axis, expressed as a percentage of the axis range.

Usage

From source file:de.unibayreuth.bayeos.goat.panels.timeseries.JPanelChart.java

/**
 * used for zooming/*from  ww w . j av a 2s.c  o  m*/
 * 
 * @param axis  the axis.
 * @param range  the range.
 * @param zoomFactor  the zoom factor.
 * @param anchorValue  the anchor value.
 */
private void adjustRange(ValueAxis axis, Range range, double zoomFactor, double anchorValue) {

    if (axis == null || range == null) {
        return;
    }

    double rangeMinVal = range.getLowerBound() - range.getLength() * axis.getLowerMargin();
    double rangeMaxVal = range.getUpperBound() + range.getLength() * axis.getUpperMargin();
    double halfLength = axis.getRange().getLength() * zoomFactor / 2;
    double zoomedMinVal = anchorValue - halfLength;
    double zoomedMaxVal = anchorValue + halfLength;
    double adjMinVal = zoomedMinVal;
    if (zoomedMinVal < rangeMinVal) {
        adjMinVal = rangeMinVal;
        zoomedMaxVal += rangeMinVal - zoomedMinVal;
    }
    double adjMaxVal = zoomedMaxVal;
    if (zoomedMaxVal > rangeMaxVal) {
        adjMaxVal = rangeMaxVal;
        zoomedMinVal -= zoomedMaxVal - rangeMaxVal;
        adjMinVal = Math.max(zoomedMinVal, rangeMinVal);
    }

    Range adjusted = new Range(adjMinVal, adjMaxVal);
    axis.setRange(adjusted);
}

From source file:apidemo.PanScrollZoomDemo.java

/**
 * used for zooming/* w w  w . j  a v a 2 s  . c  o m*/
 * 
 * @param axis  the axis.
 * @param range  the range.
 * @param zoomFactor  the zoom factor.
 * @param anchorValue  the anchor value.
 */
private void adjustRange(final ValueAxis axis, final Range range, final double zoomFactor,
        final double anchorValue) {

    if (axis == null || range == null) {
        return;
    }

    final double rangeMinVal = range.getLowerBound() - range.getLength() * axis.getLowerMargin();
    final double rangeMaxVal = range.getUpperBound() + range.getLength() * axis.getUpperMargin();
    final double halfLength = axis.getRange().getLength() * zoomFactor / 2;
    double zoomedMinVal = anchorValue - halfLength;
    double zoomedMaxVal = anchorValue + halfLength;
    double adjMinVal = zoomedMinVal;
    if (zoomedMinVal < rangeMinVal) {
        adjMinVal = rangeMinVal;
        zoomedMaxVal += rangeMinVal - zoomedMinVal;
    }
    double adjMaxVal = zoomedMaxVal;
    if (zoomedMaxVal > rangeMaxVal) {
        adjMaxVal = rangeMaxVal;
        zoomedMinVal -= zoomedMaxVal - rangeMaxVal;
        adjMinVal = Math.max(zoomedMinVal, rangeMinVal);
    }

    final Range adjusted = new Range(adjMinVal, adjMaxVal);
    axis.setRange(adjusted);
}

From source file:org.gumtree.vis.plot1d.Plot1DChartEditor.java

private void initialise(int seriesIndex) {
    if (seriesIndex >= 0) {
        XYItemRenderer renderer = chart.getXYPlot().getRenderer();
        if (renderer instanceof XYErrorRenderer) {
            //Update show marker field
            showMarker.setSelected(((XYLineAndShapeRenderer) renderer).getBaseShapesVisible());

            //Update show error field
            showError.setSelected(((XYErrorRenderer) renderer).getDrawYError());

            //Update logarithm X filed
            ValueAxis axis = chart.getXYPlot().getDomainAxis();
            if (axis instanceof LogarithmizableAxis) {
                initialLogarithmX = ((LogarithmizableAxis) axis).isLogarithmic();
                logarithmX.setSelected(initialLogarithmX);
            } else {
                logarithmX.setEnabled(false);
            }//from   ww w.  jav  a 2 s .  c om
            initialFlipX = axis.isInverted();
            flipX.setSelected(initialFlipX);

            initialMargin = (float) axis.getLowerMargin();
            horizontalMargin.setText(String.valueOf(initialMargin));
            //Update logarithm Y filed
            axis = chart.getXYPlot().getRangeAxis();
            if (axis instanceof LogarithmizableAxis) {
                initialLogarithmY = ((LogarithmizableAxis) axis).isLogarithmic();
                logarithmY.setSelected(initialLogarithmY);
            } else {
                logarithmY.setEnabled(false);
            }
            initialFlipY = axis.isInverted();
            flipY.setSelected(initialFlipY);

            //Update series selection combo field
            seriesCombo.setSelectedIndex(seriesIndex);

            //Update curve stroke fields
            Boolean isLineVisible = ((XYLineAndShapeRenderer) renderer).getSeriesLinesVisible(seriesIndex);
            if (isLineVisible == null) {
                isLineVisible = ((XYLineAndShapeRenderer) renderer).getBaseLinesVisible();
            }
            if (isLineVisible) {
                Stroke stroke = renderer.getSeriesStroke(seriesIndex);
                curveStrokeSample.setStroke(stroke);
                if (stroke instanceof BasicStroke) {
                    strokeCombo.setSelectedItem(new Float(((BasicStroke) stroke).getLineWidth()));
                }
            } else {
                curveStrokeSample.setStroke(null);
                strokeCombo.setSelectedIndex(0);
            }

            //Update curve colour fields
            Paint paint = renderer.getSeriesPaint(seriesIndex);
            curveColorPaint.setPaint(paint);

            //Update marker fill field
            Boolean seriesShapeFilled = ((XYLineAndShapeRenderer) renderer).getSeriesShapesFilled(seriesIndex);
            if (seriesShapeFilled == null) {
                seriesShapeFilled = ((XYLineAndShapeRenderer) renderer).getBaseShapesFilled();
            }
            if (seriesShapeFilled != null) {
                markerFilled.setSelected(seriesShapeFilled);
            }

            //Update marker shape fields
            Boolean isShapeVisible = ((XYLineAndShapeRenderer) renderer)
                    .getSeriesShapesVisible(currentSeriesIndex);
            if (isShapeVisible == null) {
                isShapeVisible = true;
            }
            if (isShapeVisible) {
                Shape serieseShape = renderer.getSeriesShape(seriesIndex);
                currentShape = MarkerShape.findMarkerShape(serieseShape);
                shapeLabel.setIcon(MarkerShape.createIcon(serieseShape, paint, markerFilled.isSelected()));
                shapeLabel.setText(null);
            } else {
                currentShape = MarkerShape.NONE;
                shapeLabel.setIcon(null);
                shapeLabel.setText("None");
            }
            updateComborender(paint, markerFilled.isSelected());

            //Update curve visibility field
            Boolean isCurveVisible = ((XYLineAndShapeRenderer) renderer).isSeriesVisible(seriesIndex);
            if (isCurveVisible == null) {
                isCurveVisible = ((XYLineAndShapeRenderer) renderer).getBaseSeriesVisible();
            }
            curveVisable.setSelected(isCurveVisible);
        }
    }
}