List of usage examples for org.jfree.chart.axis ValueAxis getUpperMargin
public double getUpperMargin()
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); }