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

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

Introduction

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

Prototype

public double getUpperMargin() 

Source Link

Document

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

Usage

From source file:org.opennms.netmgt.charts.ChartUtils.java

/**
 * @param chartConfig//from ww w.  j  a v  a 2  s  . c  o  m
 * @param baseDataSet
 * @return
 */
private static JFreeChart createBarChart(BarChart chartConfig, DefaultCategoryDataset baseDataSet) {
    PlotOrientation po = (chartConfig.getPlotOrientation() == "horizontal" ? PlotOrientation.HORIZONTAL
            : PlotOrientation.VERTICAL);
    JFreeChart barChart = null;
    if ("3d".equalsIgnoreCase(chartConfig.getVariation())) {
        barChart = ChartFactory.createBarChart3D(chartConfig.getTitle().getValue(),
                chartConfig.getDomainAxisLabel(), chartConfig.getRangeAxisLabel(), baseDataSet, po,
                chartConfig.getShowLegend(), chartConfig.getShowToolTips(), chartConfig.getShowUrls());
    } else {
        barChart = ChartFactory.createBarChart(chartConfig.getTitle().getValue(),
                chartConfig.getDomainAxisLabel(), chartConfig.getRangeAxisLabel(), baseDataSet, po,
                chartConfig.getShowLegend(), chartConfig.getShowToolTips(), chartConfig.getShowUrls());
    }

    // Create a bit more headroom for value labels than is allowed for by the default 0.05 upper margin
    ValueAxis rangeAxis = barChart.getCategoryPlot().getRangeAxis();
    if (rangeAxis.getUpperMargin() < 0.1) {
        rangeAxis.setUpperMargin(0.1);
    }

    return barChart;
}

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

/**
 * used for zooming//from   ww w  . j  a v  a 2  s. c om
 * 
 * @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//from  ww w. j  a  v 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(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);
}