@Test public void configureRangeAxis_NegativeValues() { final double lower = -20; final double upper = -10; NumberAxis axis = new NumberAxis(); axis.setRange( lower, upper ); expression.configureRangeAxis( createCategoryPlotWith( axis ), createFont() ); Assert.assertTrue( axis.getLowerBound() < lower ); Assert.assertTrue( axis.getUpperBound() > upper ); Assert.assertTrue( axis.getUpperBound() < 0 ); }
protected void configureRangeAxis( final CategoryPlot cpl, final Font labelFont ) { final ValueAxis rangeAxis = cpl.getRangeAxis(); if ( rangeAxis instanceof NumberAxis ) { final NumberAxis numberAxis = (NumberAxis) rangeAxis; numberAxis.setAutoRangeIncludesZero( isRangeIncludesZero() ); numberAxis.setAutoRangeStickyZero( isRangeStickyZero() ); if ( getRangePeriodCount() > 0 ) { if ( getRangeTickFormat() != null ) { numberAxis.setTickUnit( new NumberTickUnit( getRangePeriodCount(), getRangeTickFormat() ) ); } else if ( getRangeTickFormatString() != null ) { final FastDecimalFormat formatter = new FastDecimalFormat( getRangeTickFormatString(), getResourceBundleFactory().getLocale() ); numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount() ) ); } } else { if ( getRangeTickFormat() != null ) { numberAxis.setNumberFormatOverride( getRangeTickFormat() ); } else if ( getRangeTickFormatString() != null ) { final DecimalFormat formatter = new DecimalFormat( getRangeTickFormatString(), new DecimalFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setNumberFormatOverride( formatter ); standardTickUnitsApplyFormat( numberAxis, formatter ); } } } else if ( rangeAxis instanceof DateAxis ) { final DateAxis numberAxis = (DateAxis) rangeAxis; if ( getRangePeriodCount() > 0 && getRangeTimePeriod() != null ) { if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount() ) ); } } else if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setDateFormatOverride( formatter ); } } if ( rangeAxis != null ) { rangeAxis.setLabelFont( labelFont ); rangeAxis.setTickLabelFont( labelFont ); if ( getRangeTitleFont() != null ) { rangeAxis.setLabelFont( getRangeTitleFont() ); } if ( getRangeTickFont() != null ) { rangeAxis.setTickLabelFont( getRangeTickFont() ); } final int level = getRuntime().getProcessingContext().getCompatibilityLevel(); if ( ClassicEngineBoot.isEnforceCompatibilityFor( level, 3, 8 ) ) { if ( getRangeMinimum() != 0 ) { rangeAxis.setLowerBound( getRangeMinimum() ); } if ( getRangeMaximum() != 1 ) { rangeAxis.setUpperBound( getRangeMaximum() ); } if ( getRangeMinimum() == 0 && getRangeMaximum() == 0 ) { rangeAxis.setAutoRange( true ); } } else { if ( isAutoRange() ) { rangeAxis.setAutoRange( isAutoRange() ); } else { double factor = getScaleFactor(); if ( factor > DEFAULT_SCALE_FACTOR ) { double lower = rangeAxis.getLowerBound(); if ( lower < 0 ) { lower *= factor; } else if ( lower > 0 ) { lower /= factor; } double upper = rangeAxis.getUpperBound(); if ( upper > 0 ) { upper *= factor; } else if ( upper < 0 ) { upper /= factor; } rangeAxis.setRange( lower, upper ); } else { rangeAxis.setUpperBound( getRangeMaximum() ); rangeAxis.setLowerBound( getRangeMinimum() ); } } } } }
CategoricalChartExpression extends AbstractChartExpression implements LegacyUpdateHandler { protected void configureRangeAxis( final CategoryPlot cpl, final Font labelFont ) { final ValueAxis rangeAxis = cpl.getRangeAxis(); if ( rangeAxis instanceof NumberAxis ) { final NumberAxis numberAxis = (NumberAxis) rangeAxis; numberAxis.setAutoRangeIncludesZero( isRangeIncludesZero() ); numberAxis.setAutoRangeStickyZero( isRangeStickyZero() ); if ( getRangePeriodCount() > 0 ) { if ( getRangeTickFormat() != null ) { numberAxis.setTickUnit( new NumberTickUnit( getRangePeriodCount(), getRangeTickFormat() ) ); } else if ( getRangeTickFormatString() != null ) { final FastDecimalFormat formatter = new FastDecimalFormat( getRangeTickFormatString(), getResourceBundleFactory().getLocale() ); numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount() ) ); } } else { if ( getRangeTickFormat() != null ) { numberAxis.setNumberFormatOverride( getRangeTickFormat() ); } else if ( getRangeTickFormatString() != null ) { final DecimalFormat formatter = new DecimalFormat( getRangeTickFormatString(), new DecimalFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setNumberFormatOverride( formatter ); standardTickUnitsApplyFormat( numberAxis, formatter ); } } } else if ( rangeAxis instanceof DateAxis ) { final DateAxis numberAxis = (DateAxis) rangeAxis; if ( getRangePeriodCount() > 0 && getRangeTimePeriod() != null ) { if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount() ) ); } } else if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setDateFormatOverride( formatter ); } } if ( rangeAxis != null ) { rangeAxis.setLabelFont( labelFont ); rangeAxis.setTickLabelFont( labelFont ); if ( getRangeTitleFont() != null ) { rangeAxis.setLabelFont( getRangeTitleFont() ); } if ( getRangeTickFont() != null ) { rangeAxis.setTickLabelFont( getRangeTickFont() ); } final int level = getRuntime().getProcessingContext().getCompatibilityLevel(); if ( ClassicEngineBoot.isEnforceCompatibilityFor( level, 3, 8 ) ) { if ( getRangeMinimum() != 0 ) { rangeAxis.setLowerBound( getRangeMinimum() ); } if ( getRangeMaximum() != 1 ) { rangeAxis.setUpperBound( getRangeMaximum() ); } if ( getRangeMinimum() == 0 && getRangeMaximum() == 0 ) { rangeAxis.setAutoRange( true ); } } else { if ( isAutoRange() ) { rangeAxis.setAutoRange( isAutoRange() ); } else { double factor = getScaleFactor(); if ( factor > DEFAULT_SCALE_FACTOR ) { double lower = rangeAxis.getLowerBound(); if ( lower < 0 ) { lower *= factor; } else if ( lower > 0 ) { lower /= factor; } double upper = rangeAxis.getUpperBound(); if ( upper > 0 ) { upper *= factor; } else if ( upper < 0 ) { upper /= factor; } rangeAxis.setRange( lower, upper ); } else { rangeAxis.setUpperBound( getRangeMaximum() ); rangeAxis.setLowerBound( getRangeMinimum() ); } } } } } }
CategoricalChartExpression extends AbstractChartExpression implements LegacyUpdateHandler { protected void configureRangeAxis( final CategoryPlot cpl, final Font labelFont ) { final ValueAxis rangeAxis = cpl.getRangeAxis(); if ( rangeAxis instanceof NumberAxis ) { final NumberAxis numberAxis = (NumberAxis) rangeAxis; numberAxis.setAutoRangeIncludesZero( isRangeIncludesZero() ); numberAxis.setAutoRangeStickyZero( isRangeStickyZero() ); if ( getRangePeriodCount() > 0 ) { if ( getRangeTickFormat() != null ) { numberAxis.setTickUnit( new NumberTickUnit( getRangePeriodCount(), getRangeTickFormat() ) ); } else if ( getRangeTickFormatString() != null ) { final FastDecimalFormat formatter = new FastDecimalFormat( getRangeTickFormatString(), getResourceBundleFactory().getLocale() ); numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount() ) ); } } else { if ( getRangeTickFormat() != null ) { numberAxis.setNumberFormatOverride( getRangeTickFormat() ); } else if ( getRangeTickFormatString() != null ) { final DecimalFormat formatter = new DecimalFormat( getRangeTickFormatString(), new DecimalFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setNumberFormatOverride( formatter ); standardTickUnitsApplyFormat( numberAxis, formatter ); } } } else if ( rangeAxis instanceof DateAxis ) { final DateAxis numberAxis = (DateAxis) rangeAxis; if ( getRangePeriodCount() > 0 && getRangeTimePeriod() != null ) { if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount() ) ); } } else if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setDateFormatOverride( formatter ); } } if ( rangeAxis != null ) { rangeAxis.setLabelFont( labelFont ); rangeAxis.setTickLabelFont( labelFont ); if ( getRangeTitleFont() != null ) { rangeAxis.setLabelFont( getRangeTitleFont() ); } if ( getRangeTickFont() != null ) { rangeAxis.setTickLabelFont( getRangeTickFont() ); } final int level = getRuntime().getProcessingContext().getCompatibilityLevel(); if ( ClassicEngineBoot.isEnforceCompatibilityFor( level, 3, 8 ) ) { if ( getRangeMinimum() != 0 ) { rangeAxis.setLowerBound( getRangeMinimum() ); } if ( getRangeMaximum() != 1 ) { rangeAxis.setUpperBound( getRangeMaximum() ); } if ( getRangeMinimum() == 0 && getRangeMaximum() == 0 ) { rangeAxis.setAutoRange( true ); } } else { if ( isAutoRange() ) { rangeAxis.setAutoRange( isAutoRange() ); } else { double factor = getScaleFactor(); if ( factor > DEFAULT_SCALE_FACTOR ) { double lower = rangeAxis.getLowerBound(); if ( lower < 0 ) { lower *= factor; } else if ( lower > 0 ) { lower /= factor; } double upper = rangeAxis.getUpperBound(); if ( upper > 0 ) { upper *= factor; } else if ( upper < 0 ) { upper /= factor; } rangeAxis.setRange( lower, upper ); } else { rangeAxis.setUpperBound( getRangeMaximum() ); rangeAxis.setLowerBound( getRangeMinimum() ); } } } } } protected  CategoricalChartExpression(); }
CategoricalChartExpression extends AbstractChartExpression implements LegacyUpdateHandler { protected void configureRangeAxis( final CategoryPlot cpl, final Font labelFont ) { final ValueAxis rangeAxis = cpl.getRangeAxis(); if ( rangeAxis instanceof NumberAxis ) { final NumberAxis numberAxis = (NumberAxis) rangeAxis; numberAxis.setAutoRangeIncludesZero( isRangeIncludesZero() ); numberAxis.setAutoRangeStickyZero( isRangeStickyZero() ); if ( getRangePeriodCount() > 0 ) { if ( getRangeTickFormat() != null ) { numberAxis.setTickUnit( new NumberTickUnit( getRangePeriodCount(), getRangeTickFormat() ) ); } else if ( getRangeTickFormatString() != null ) { final FastDecimalFormat formatter = new FastDecimalFormat( getRangeTickFormatString(), getResourceBundleFactory().getLocale() ); numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount() ) ); } } else { if ( getRangeTickFormat() != null ) { numberAxis.setNumberFormatOverride( getRangeTickFormat() ); } else if ( getRangeTickFormatString() != null ) { final DecimalFormat formatter = new DecimalFormat( getRangeTickFormatString(), new DecimalFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setNumberFormatOverride( formatter ); standardTickUnitsApplyFormat( numberAxis, formatter ); } } } else if ( rangeAxis instanceof DateAxis ) { final DateAxis numberAxis = (DateAxis) rangeAxis; if ( getRangePeriodCount() > 0 && getRangeTimePeriod() != null ) { if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount() ) ); } } else if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setDateFormatOverride( formatter ); } } if ( rangeAxis != null ) { rangeAxis.setLabelFont( labelFont ); rangeAxis.setTickLabelFont( labelFont ); if ( getRangeTitleFont() != null ) { rangeAxis.setLabelFont( getRangeTitleFont() ); } if ( getRangeTickFont() != null ) { rangeAxis.setTickLabelFont( getRangeTickFont() ); } final int level = getRuntime().getProcessingContext().getCompatibilityLevel(); if ( ClassicEngineBoot.isEnforceCompatibilityFor( level, 3, 8 ) ) { if ( getRangeMinimum() != 0 ) { rangeAxis.setLowerBound( getRangeMinimum() ); } if ( getRangeMaximum() != 1 ) { rangeAxis.setUpperBound( getRangeMaximum() ); } if ( getRangeMinimum() == 0 && getRangeMaximum() == 0 ) { rangeAxis.setAutoRange( true ); } } else { if ( isAutoRange() ) { rangeAxis.setAutoRange( isAutoRange() ); } else { double factor = getScaleFactor(); if ( factor > DEFAULT_SCALE_FACTOR ) { double lower = rangeAxis.getLowerBound(); if ( lower < 0 ) { lower *= factor; } else if ( lower > 0 ) { lower /= factor; } double upper = rangeAxis.getUpperBound(); if ( upper > 0 ) { upper *= factor; } else if ( upper < 0 ) { upper /= factor; } rangeAxis.setRange( lower, upper ); } else { rangeAxis.setUpperBound( getRangeMaximum() ); rangeAxis.setLowerBound( getRangeMinimum() ); } } } } } protected  CategoricalChartExpression(); Font getCategoryTitleFont(); void setCategoryTitleFont( final Font categoryTitleFont ); Font getCategoryTickFont(); void setCategoryTickFont( final Font categoryTickFont ); String getRangeTickFormatString(); void setRangeTickFormatString( final String rangeTickFormatString ); String getCategoricalAxisMessageFormat(); void setCategoricalAxisMessageFormat( final String categoricalAxisMessageFormat ); Font getRangeTickFont(); void setRangeTickFont( final Font rangeTickFont ); double getRangeMinimum(); void setRangeMinimum( final double rangeMinimum ); double getRangeMaximum(); void setRangeMaximum( final double rangeMaximum ); Font getRangeTitleFont(); void setRangeTitleFont( final Font rangeTitleFont ); NumberFormat getRangeTickFormat(); void setRangeTickFormat( final NumberFormat rangeTickFormat ); boolean isRangeIncludesZero(); void setRangeIncludesZero( final boolean rangeIncludesZero ); boolean isRangeStickyZero(); void setRangeStickyZero( final boolean rangeStickyZero ); boolean isLogarithmicAxis(); void setLogarithmicAxis( final boolean logarithmicAxis ); boolean isHumanReadableLogarithmicFormat(); void setHumanReadableLogarithmicFormat( final boolean humanReadableLogarithmicFormat ); Double getLowerMargin(); void setLowerMargin( final Double lowerMargin ); Double getUpperMargin(); void setUpperMargin( final Double upperMargin ); Double getCategoryMargin(); void setCategoryMargin( final Double categoryMargin ); Double getLabelRotationDeg(); void setLabelRotationDeg( final Double value ); Double getLabelRotation(); void setLabelRotation( final Double value ); Double getCategoricalItemLabelRotationDeg(); void setCategoricalItemLabelRotationDeg( final Double value ); Double getCategoricalItemLabelRotation(); void setCategoricalItemLabelRotation( final Double value ); void setMaxCategoryLabelWidthRatio( final Float value ); Float getMaxCategoryLabelWidthRatio(); boolean isShowGridlines(); void setShowGridlines( final boolean value ); boolean isHorizontal(); void setHorizontal( final boolean value ); String getValueAxisLabel(); void setValueAxisLabel( final String valueAxisLabel ); String getCategoryAxisLabel(); void setCategoryAxisLabel( final String categoryAxisLabel ); void setCategoricalLabelFormat( final String value ); String getCategoricalLabelFormat(); void setCategoricalLabelDecimalFormat( final String value ); String getCategoricalLabelDecimalFormat(); void setCategoricalLabelDateFormat( final String value ); String getCategoricalLabelDateFormat(); boolean isAutoRange(); void setAutoRange( final boolean autoRange ); double getScaleFactor(); void setScaleFactor( final double scaleFactor ); JFreeChart getChart( final CategoryDataset categoryDataset ); Class getRangeTimePeriod(); void setRangeTimePeriod( final Class rangeTimePeriod ); double getRangePeriodCount(); void setRangePeriodCount( final double rangePeriodCount ); Expression getInstance(); void reconfigureForCompatibility( final int versionTag ); }
CategoricalChartExpression extends AbstractChartExpression implements LegacyUpdateHandler { protected void configureRangeAxis( final CategoryPlot cpl, final Font labelFont ) { final ValueAxis rangeAxis = cpl.getRangeAxis(); if ( rangeAxis instanceof NumberAxis ) { final NumberAxis numberAxis = (NumberAxis) rangeAxis; numberAxis.setAutoRangeIncludesZero( isRangeIncludesZero() ); numberAxis.setAutoRangeStickyZero( isRangeStickyZero() ); if ( getRangePeriodCount() > 0 ) { if ( getRangeTickFormat() != null ) { numberAxis.setTickUnit( new NumberTickUnit( getRangePeriodCount(), getRangeTickFormat() ) ); } else if ( getRangeTickFormatString() != null ) { final FastDecimalFormat formatter = new FastDecimalFormat( getRangeTickFormatString(), getResourceBundleFactory().getLocale() ); numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new FastNumberTickUnit( getRangePeriodCount() ) ); } } else { if ( getRangeTickFormat() != null ) { numberAxis.setNumberFormatOverride( getRangeTickFormat() ); } else if ( getRangeTickFormatString() != null ) { final DecimalFormat formatter = new DecimalFormat( getRangeTickFormatString(), new DecimalFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setNumberFormatOverride( formatter ); standardTickUnitsApplyFormat( numberAxis, formatter ); } } } else if ( rangeAxis instanceof DateAxis ) { final DateAxis numberAxis = (DateAxis) rangeAxis; if ( getRangePeriodCount() > 0 && getRangeTimePeriod() != null ) { if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount(), formatter ) ); } else { numberAxis.setTickUnit( new DateTickUnit( getDateUnitAsInt( getRangeTimePeriod() ), (int) getRangePeriodCount() ) ); } } else if ( getRangeTickFormatString() != null ) { final SimpleDateFormat formatter = new SimpleDateFormat( getRangeTickFormatString(), new DateFormatSymbols( getResourceBundleFactory().getLocale() ) ); numberAxis.setDateFormatOverride( formatter ); } } if ( rangeAxis != null ) { rangeAxis.setLabelFont( labelFont ); rangeAxis.setTickLabelFont( labelFont ); if ( getRangeTitleFont() != null ) { rangeAxis.setLabelFont( getRangeTitleFont() ); } if ( getRangeTickFont() != null ) { rangeAxis.setTickLabelFont( getRangeTickFont() ); } final int level = getRuntime().getProcessingContext().getCompatibilityLevel(); if ( ClassicEngineBoot.isEnforceCompatibilityFor( level, 3, 8 ) ) { if ( getRangeMinimum() != 0 ) { rangeAxis.setLowerBound( getRangeMinimum() ); } if ( getRangeMaximum() != 1 ) { rangeAxis.setUpperBound( getRangeMaximum() ); } if ( getRangeMinimum() == 0 && getRangeMaximum() == 0 ) { rangeAxis.setAutoRange( true ); } } else { if ( isAutoRange() ) { rangeAxis.setAutoRange( isAutoRange() ); } else { double factor = getScaleFactor(); if ( factor > DEFAULT_SCALE_FACTOR ) { double lower = rangeAxis.getLowerBound(); if ( lower < 0 ) { lower *= factor; } else if ( lower > 0 ) { lower /= factor; } double upper = rangeAxis.getUpperBound(); if ( upper > 0 ) { upper *= factor; } else if ( upper < 0 ) { upper /= factor; } rangeAxis.setRange( lower, upper ); } else { rangeAxis.setUpperBound( getRangeMaximum() ); rangeAxis.setLowerBound( getRangeMinimum() ); } } } } } protected  CategoricalChartExpression(); Font getCategoryTitleFont(); void setCategoryTitleFont( final Font categoryTitleFont ); Font getCategoryTickFont(); void setCategoryTickFont( final Font categoryTickFont ); String getRangeTickFormatString(); void setRangeTickFormatString( final String rangeTickFormatString ); String getCategoricalAxisMessageFormat(); void setCategoricalAxisMessageFormat( final String categoricalAxisMessageFormat ); Font getRangeTickFont(); void setRangeTickFont( final Font rangeTickFont ); double getRangeMinimum(); void setRangeMinimum( final double rangeMinimum ); double getRangeMaximum(); void setRangeMaximum( final double rangeMaximum ); Font getRangeTitleFont(); void setRangeTitleFont( final Font rangeTitleFont ); NumberFormat getRangeTickFormat(); void setRangeTickFormat( final NumberFormat rangeTickFormat ); boolean isRangeIncludesZero(); void setRangeIncludesZero( final boolean rangeIncludesZero ); boolean isRangeStickyZero(); void setRangeStickyZero( final boolean rangeStickyZero ); boolean isLogarithmicAxis(); void setLogarithmicAxis( final boolean logarithmicAxis ); boolean isHumanReadableLogarithmicFormat(); void setHumanReadableLogarithmicFormat( final boolean humanReadableLogarithmicFormat ); Double getLowerMargin(); void setLowerMargin( final Double lowerMargin ); Double getUpperMargin(); void setUpperMargin( final Double upperMargin ); Double getCategoryMargin(); void setCategoryMargin( final Double categoryMargin ); Double getLabelRotationDeg(); void setLabelRotationDeg( final Double value ); Double getLabelRotation(); void setLabelRotation( final Double value ); Double getCategoricalItemLabelRotationDeg(); void setCategoricalItemLabelRotationDeg( final Double value ); Double getCategoricalItemLabelRotation(); void setCategoricalItemLabelRotation( final Double value ); void setMaxCategoryLabelWidthRatio( final Float value ); Float getMaxCategoryLabelWidthRatio(); boolean isShowGridlines(); void setShowGridlines( final boolean value ); boolean isHorizontal(); void setHorizontal( final boolean value ); String getValueAxisLabel(); void setValueAxisLabel( final String valueAxisLabel ); String getCategoryAxisLabel(); void setCategoryAxisLabel( final String categoryAxisLabel ); void setCategoricalLabelFormat( final String value ); String getCategoricalLabelFormat(); void setCategoricalLabelDecimalFormat( final String value ); String getCategoricalLabelDecimalFormat(); void setCategoricalLabelDateFormat( final String value ); String getCategoricalLabelDateFormat(); boolean isAutoRange(); void setAutoRange( final boolean autoRange ); double getScaleFactor(); void setScaleFactor( final double scaleFactor ); JFreeChart getChart( final CategoryDataset categoryDataset ); Class getRangeTimePeriod(); void setRangeTimePeriod( final Class rangeTimePeriod ); double getRangePeriodCount(); void setRangePeriodCount( final double rangePeriodCount ); Expression getInstance(); void reconfigureForCompatibility( final int versionTag );  }