List of usage examples for org.jfree.chart.axis NumberAxis getNumberFormatOverride
public NumberFormat getNumberFormatOverride()
From source file:org.amanzi.awe.charts.builder.TimeChartBuilder.java
@Override protected NumberAxis configRangeAxis(IRangeAxis axis) { NumberAxis rangeAxis; if (axis.equals(getModel().getMainRangeAxis())) { rangeAxis = (NumberAxis) getPlot().getRangeAxis(); rangeAxis.setNumberFormatOverride(NumberFormat.getInstance()); rangeAxis.getNumberFormatOverride().setMaximumFractionDigits(MAXIMUM_FRACTION_DIGITS); } else {// w ww . j av a2s. c om rangeAxis = new NumberAxis(getModel().getSecondRangeAxis().getName()); rangeAxis.setNumberFormatOverride(NumberFormat.getInstance()); rangeAxis.getNumberFormatOverride().setMaximumFractionDigits(MAXIMUM_FRACTION_DIGITS); rangeAxis.setAutoRangeIncludesZero(false); } return rangeAxis; }
From source file:net.sf.jasperreports.engine.fill.DefaultChartTheme.java
/** * For a given axis, adjust the tick unit size, in order to * have a customizable number of ticks on that axis *//*from ww w. j a v a 2 s .c om*/ protected void calculateTickUnits(Axis axis, boolean isRangeAxis) { Integer tickCount = null; Number tickInterval = null; boolean axisIntegerUnit = false; if (getChart().hasProperties()) { String tickCountProperty = null; String tickIntervalProperty = null; String axisIntegerUnitProperty = null; if (isRangeAxis) { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_INTEGER_UNIT); } else { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_INTEGER_UNIT); } if (tickCountProperty != null && tickCountProperty.trim().length() > 0) { tickCount = Integer.valueOf(tickCountProperty); } if (tickIntervalProperty != null && tickIntervalProperty.trim().length() > 0) { tickInterval = Double.valueOf(tickIntervalProperty); } if (axisIntegerUnitProperty != null && axisIntegerUnitProperty.trim().length() > 0) { axisIntegerUnit = Boolean.valueOf(axisIntegerUnitProperty); } } if (axis instanceof NumberAxis) { NumberAxis numberAxis = (NumberAxis) axis; int axisRange = (int) numberAxis.getRange().getLength(); if (axisIntegerUnit) { ChartUtil chartUtil = ChartUtil.getInstance(chartContext.getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createIntegerTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } else if (axisRange > 0) { if (tickInterval != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), NumberFormat.getNumberInstance(getLocale()))); } } else if (tickCount != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit( new NumberTickUnit(axisRange / tickCount, numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(axisRange / tickCount, NumberFormat.getNumberInstance(getLocale()))); } } else { ChartUtil chartUtil = ChartUtil.getInstance(chartContext.getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createStandardTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } } } // else if (axis instanceof DateAxis) // { // DateAxis dateAxis = (DateAxis)axis; // int axisRange = (int)dateAxis.getRange().getLength(); // if (dateAxis.getDateFormatOverride() != null) // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount, dateAxis.getDateFormatOverride())); // } // else // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount)); // } // } }
From source file:net.sf.fspdfs.chartthemes.simple.SimpleChartTheme.java
/** * For a given axis, adjust the tick unit size, in order to * have a customizable number of ticks on that axis *///from w ww . j a v a 2 s . co m protected void calculateTickUnits(Axis axis, AxisSettings axisSettings, int timePeriodUnit) { Integer tickCount = null; Number tickInterval = null; if (getChart().hasProperties()) { String tickCountProperty = null; String tickIntervalProperty = null; if (axisSettings == getChartThemeSettings().getRangeAxisSettings()) { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_INTERVAL); } else { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_INTERVAL); } if (tickCountProperty != null && tickCountProperty.trim().length() > 0) { tickCount = Integer.valueOf(tickCountProperty); } if (tickIntervalProperty != null && tickIntervalProperty.trim().length() > 0) { tickInterval = Double.valueOf(tickIntervalProperty); } } else { tickCount = axisSettings.getTickCount(); tickInterval = axisSettings.getTickInterval(); } if (tickInterval == null && tickCount == null) { return; } if (axis instanceof NumberAxis) { NumberAxis numberAxis = (NumberAxis) axis; int axisRange = (int) numberAxis.getRange().getLength(); if (axisRange > 0) { if (tickInterval != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue())); } } else if (tickCount != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(axisRange / tickCount.intValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(axisRange / tickCount.intValue())); } } } } // else if(axis instanceof DateAxis) // { // DateAxis dateAxis = (DateAxis)axis; // int axisRange = (int)dateAxis.getRange().getLength(); // if(dateAxis.getDateFormatOverride() != null) // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount, dateAxis.getDateFormatOverride())); // } // else // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount)); // } // } }
From source file:net.sf.fspdfs.chartthemes.spring.GenericChartTheme.java
/** * For a given axis, adjust the tick unit size, in order to * have a customizable number of ticks on that axis *//* w w w. j a v a2 s . c om*/ protected void calculateTickUnits(Axis axis, boolean isRangeAxis, String timePeriodUnit) { Integer tickCount = null; Number tickInterval = null; if (getChart().hasProperties()) { String tickCountProperty = null; String tickIntervalProperty = null; if (isRangeAxis) { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_INTERVAL); } else { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_INTERVAL); } if (tickCountProperty != null && tickCountProperty.trim().length() > 0) { tickCount = Integer.valueOf(tickCountProperty); } if (tickIntervalProperty != null && tickIntervalProperty.trim().length() > 0) { tickInterval = Double.valueOf(tickIntervalProperty); } } else { if (isRangeAxis) { tickCount = (Integer) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_TICK_COUNT); tickInterval = (Number) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_TICK_INTERVAL); } else { tickCount = (Integer) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_TICK_COUNT); tickInterval = (Number) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_TICK_INTERVAL); } } if (tickInterval == null && tickCount == null) { return; } // if(axis instanceof NumberAxis) // { // NumberAxis numberAxis = (NumberAxis)axis; // int axisRange = (int)numberAxis.getRange().getLength(); // if(numberAxis.getNumberFormatOverride() != null) // { // if(tickInterval != null && tickInterval.length() > 0) // numberAxis.setTickUnit(new NumberTickUnit(Double.valueOf(tickInterval).doubleValue(), numberAxis.getNumberFormatOverride())); // else // numberAxis.setTickUnit(new NumberTickUnit( axisRange/tickCount, numberAxis.getNumberFormatOverride())); // } // else // { // if(tickInterval != null && tickInterval.length() > 0) // numberAxis.setTickUnit(new NumberTickUnit(Double.valueOf(tickInterval).doubleValue())); // else // numberAxis.setTickUnit(new NumberTickUnit(axisRange/tickCount)); // } // } if (axis instanceof NumberAxis) { NumberAxis numberAxis = (NumberAxis) axis; int axisRange = (int) numberAxis.getRange().getLength(); if (axisRange > 0) { if (tickInterval != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue())); } } else if (tickCount != null) { int newTickUnitSize = axisRange / tickCount.intValue(); if (newTickUnitSize > numberAxis.getTickUnit().getSize()) { int tickUnitSize = newTickUnitSize; //preferably multiple of 5 values should be used as tick units lengths: int i = 1; while (tickUnitSize > 9) { tickUnitSize /= 10; i *= 10; } tickUnitSize *= i; newTickUnitSize = tickUnitSize + i / 2; if (newTickUnitSize > 0 && axisRange / newTickUnitSize > tickCount.intValue()) { newTickUnitSize += i / 2; } if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit( new NumberTickUnit(newTickUnitSize, numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(newTickUnitSize)); } } } } } // else if(axis instanceof DateAxis) // { // DateAxis dateAxis = (DateAxis)axis; // int axisRange = (int)dateAxis.getRange().getLength(); // int timeUnit = getTimePeriodUnit(timePeriodUnit); // // if(dateAxis.getDateFormatOverride() != null) // { // if(tickInterval != null && tickInterval.length() > 0) // dateAxis.setTickUnit(new DateTickUnit(timeUnit, Integer.valueOf(tickInterval).intValue(), dateAxis.getDateFormatOverride())); // else // dateAxis.setTickUnit(new DateTickUnit(timeUnit, axisRange/tickCount, dateAxis.getDateFormatOverride())); // } // else // { // if(tickInterval != null && tickInterval.length() > 0) // dateAxis.setTickUnit(new DateTickUnit(timeUnit, Integer.valueOf(tickInterval).intValue())); // else // dateAxis.setTickUnit(new DateTickUnit(timeUnit, axisRange/tickCount)); // } // } }
From source file:net.sf.jasperreports.chartthemes.simple.SimpleChartTheme.java
/** * For a given axis, adjust the tick unit size, in order to * have a customizable number of ticks on that axis *//*from w ww . j a va2s . com*/ protected void calculateTickUnits(Axis axis, AxisSettings axisSettings, DateTickUnitType timePeriodUnitx) { Integer tickCount = null; Number tickInterval = null; boolean axisIntegerUnit = false; if (getChart().hasProperties()) { String tickCountProperty = null; String tickIntervalProperty = null; String axisIntegerUnitProperty = null; if (axisSettings == getChartThemeSettings().getRangeAxisSettings()) { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_INTEGER_UNIT); } else { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_INTEGER_UNIT); } if (tickCountProperty != null && tickCountProperty.trim().length() > 0) { tickCount = Integer.valueOf(tickCountProperty); } if (tickIntervalProperty != null && tickIntervalProperty.trim().length() > 0) { tickInterval = Double.valueOf(tickIntervalProperty); } if (axisIntegerUnitProperty != null && axisIntegerUnitProperty.trim().length() > 0) { axisIntegerUnit = Boolean.valueOf(axisIntegerUnitProperty); } } else { tickCount = axisSettings.getTickCount(); tickInterval = axisSettings.getTickInterval(); if (axisSettings.getAxisIntegerUnit() != null) { axisIntegerUnit = axisSettings.getAxisIntegerUnit(); } } if (axis instanceof NumberAxis) { NumberAxis numberAxis = (NumberAxis) axis; int axisRange = (int) numberAxis.getRange().getLength(); if (axisIntegerUnit) { ChartUtil chartUtil = ChartUtil.getInstance(getChartContext().getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createIntegerTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } else if (axisRange > 0) { if (tickInterval != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), NumberFormat.getNumberInstance(getLocale()))); } } else if (tickCount != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit( new NumberTickUnit(axisRange / tickCount, numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(axisRange / tickCount, NumberFormat.getNumberInstance(getLocale()))); } } else { ChartUtil chartUtil = ChartUtil.getInstance(getChartContext().getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createStandardTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } } } // else if (axis instanceof DateAxis) // { // DateAxis dateAxis = (DateAxis)axis; // int axisRange = (int)dateAxis.getRange().getLength(); // if (dateAxis.getDateFormatOverride() != null) // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount, dateAxis.getDateFormatOverride())); // } // else // { // dateAxis.setTickUnit(new DateTickUnit(timePeriodUnit, axisRange/tickCount)); // } // } }
From source file:net.sf.jasperreports.chartthemes.spring.GenericChartTheme.java
/** * For a given axis, adjust the tick unit size, in order to * have a customizable number of ticks on that axis */// w w w . j a va 2s . c o m protected void calculateTickUnits(Axis axis, boolean isRangeAxis, String timePeriodUnit) { Integer tickCount = null; Number tickInterval = null; boolean axisIntegerUnit = false; if (getChart().hasProperties()) { String tickCountProperty = null; String tickIntervalProperty = null; String axisIntegerUnitProperty = null; if (isRangeAxis) { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_RANGE_AXIS_INTEGER_UNIT); } else { tickCountProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_COUNT); tickIntervalProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_TICK_INTERVAL); axisIntegerUnitProperty = getChart().getPropertiesMap() .getProperty(DefaultChartTheme.PROPERTY_DOMAIN_AXIS_INTEGER_UNIT); } if (tickCountProperty != null && tickCountProperty.trim().length() > 0) { tickCount = Integer.valueOf(tickCountProperty); } if (tickIntervalProperty != null && tickIntervalProperty.trim().length() > 0) { tickInterval = Double.valueOf(tickIntervalProperty); } if (axisIntegerUnitProperty != null && axisIntegerUnitProperty.trim().length() > 0) { axisIntegerUnit = Boolean.valueOf(axisIntegerUnitProperty); } } else { if (isRangeAxis) { tickCount = (Integer) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_TICK_COUNT); tickInterval = (Number) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_TICK_INTERVAL); if (getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_INTEGER_UNIT) != null) { axisIntegerUnit = (Boolean) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.RANGE_AXIS_INTEGER_UNIT); } } else { tickCount = (Integer) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_TICK_COUNT); tickInterval = (Number) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_TICK_INTERVAL); if (getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_INTEGER_UNIT) != null) { axisIntegerUnit = (Boolean) getDefaultValue(defaultAxisPropertiesMap, ChartThemesConstants.DOMAIN_AXIS_INTEGER_UNIT); } } } // if (axis instanceof NumberAxis) // { // NumberAxis numberAxis = (NumberAxis)axis; // int axisRange = (int)numberAxis.getRange().getLength(); // if (numberAxis.getNumberFormatOverride() != null) // { // if (tickInterval != null && tickInterval.length() > 0) // numberAxis.setTickUnit(new NumberTickUnit(Double.valueOf(tickInterval), numberAxis.getNumberFormatOverride())); // else // numberAxis.setTickUnit(new NumberTickUnit( axisRange/tickCount, numberAxis.getNumberFormatOverride())); // } // else // { // if (tickInterval != null && tickInterval.length() > 0) // numberAxis.setTickUnit(new NumberTickUnit(Double.valueOf(tickInterval))); // else // numberAxis.setTickUnit(new NumberTickUnit(axisRange/tickCount)); // } // } if (axis instanceof NumberAxis) { NumberAxis numberAxis = (NumberAxis) axis; int axisRange = (int) numberAxis.getRange().getLength(); if (axisIntegerUnit) { ChartUtil chartUtil = ChartUtil.getInstance(getChartContext().getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createIntegerTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } else if (axisRange > 0) { if (tickInterval != null) { if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(tickInterval.doubleValue(), NumberFormat.getNumberInstance(getLocale()))); } } else if (tickCount != null) { int newTickUnitSize = axisRange / tickCount; if (newTickUnitSize > numberAxis.getTickUnit().getSize()) { int tickUnitSize = newTickUnitSize; //preferably multiple of 5 values should be used as tick units lengths: int i = 1; while (tickUnitSize > 9) { tickUnitSize /= 10; i *= 10; } tickUnitSize *= i; newTickUnitSize = tickUnitSize + i / 2; if (newTickUnitSize > 0 && axisRange / newTickUnitSize > tickCount) { newTickUnitSize += i / 2; } if (numberAxis.getNumberFormatOverride() != null) { numberAxis.setTickUnit( new NumberTickUnit(newTickUnitSize, numberAxis.getNumberFormatOverride())); } else { numberAxis.setTickUnit(new NumberTickUnit(newTickUnitSize, NumberFormat.getNumberInstance(getLocale()))); } } } else { ChartUtil chartUtil = ChartUtil.getInstance(getChartContext().getJasperReportsContext()); numberAxis.setStandardTickUnits(chartUtil.createStandardTickUnits(getLocale())); chartUtil.setAutoTickUnit(numberAxis); } } } // else if (axis instanceof DateAxis) // { // DateAxis dateAxis = (DateAxis)axis; // int axisRange = (int)dateAxis.getRange().getLength(); // int timeUnit = getTimePeriodUnit(timePeriodUnit); // // if (dateAxis.getDateFormatOverride() != null) // { // if (tickInterval != null && tickInterval.length() > 0) // dateAxis.setTickUnit(new DateTickUnit(timeUnit, Integer.valueOf(tickInterval), dateAxis.getDateFormatOverride())); // else // dateAxis.setTickUnit(new DateTickUnit(timeUnit, axisRange/tickCount, dateAxis.getDateFormatOverride())); // } // else // { // if (tickInterval != null && tickInterval.length() > 0) // dateAxis.setTickUnit(new DateTickUnit(timeUnit, Integer.valueOf(tickInterval))); // else // dateAxis.setTickUnit(new DateTickUnit(timeUnit, axisRange/tickCount)); // } // } }