org.jfree.chart.plot

Class ThermometerPlot

Implemented Interfaces:
Cloneable, EventListener, Serializable, AxisChangeListener, DatasetChangeListener, LegendItemSource, MarkerChangeListener, PublicCloneable, Serializable, ValueAxisPlot, Zoomable

public class ThermometerPlot
extends Plot
implements ValueAxisPlot, Zoomable, Cloneable, Serializable

A plot that displays a single value (from a ValueDataset) in a thermometer type display.

This plot supports a number of options:

  1. three sub-ranges which could be viewed as 'Normal', 'Warning' and 'Critical' ranges.
  2. the thermometer can be run in two modes:
    • fixed range, or
    • range adjusts to current sub-range.
    • settable units to be displayed.
    • settable display location for the value text.

    Field Summary

    protected static int
    AXIS_GAP
    The axis gap.
    static int
    BULB
    A constant for the value label position (in the thermometer bulb).
    protected static int
    BULB_DIAMETER
    The bulb diameter.
    protected static int
    BULB_RADIUS
    The bulb radius.
    protected static int
    COLUMN_DIAMETER
    The column diameter.
    protected static int
    COLUMN_RADIUS
    The column radius.
    static int
    CRITICAL
    A constant for the 'critical' range.
    protected static double
    DEFAULT_LOWER_BOUND
    The default lower bound.
    protected static double
    DEFAULT_UPPER_BOUND
    The default upper bound.
    protected static int
    DISPLAY_HIGH
    Index for display high value in subrangeInfo matrix.
    protected static int
    DISPLAY_LOW
    Index for display low value in subrangeInfo matrix.
    protected static int
    GAP_DIAMETER
    The gap diameter.
    protected static int
    GAP_RADIUS
    The gap radius.
    static int
    LEFT
    A constant for the value label position (left of the thermometer).
    static int
    NONE
    A constant for the value label position (no label).
    static int
    NORMAL
    A constant for the 'normal' range.
    protected static int
    RANGE_HIGH
    Index for high value in subrangeInfo matrix.
    protected static int
    RANGE_LOW
    Index for low value in subrangeInfo matrix.
    static int
    RIGHT
    A constant for the value label position (right of the thermometer).
    protected static String[]
    UNITS
    The unit strings.
    static int
    UNITS_CELCIUS
    A constant for unit type 'Celcius'.
    static int
    UNITS_FAHRENHEIT
    A constant for unit type 'Fahrenheit'.
    static int
    UNITS_KELVIN
    A constant for unit type 'Kelvin'.
    static int
    UNITS_NONE
    A constant for unit type 'None'.
    static int
    WARNING
    A constant for the 'warning' range.
    protected static ResourceBundle
    localizationResources
    The resourceBundle for the localization.

    Fields inherited from class org.jfree.chart.plot.Plot

    DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_LEGEND_ITEM_BOX, DEFAULT_LEGEND_ITEM_CIRCLE, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO

    Constructor Summary

    ThermometerPlot()
    Creates a new thermometer plot.
    ThermometerPlot(ValueDataset dataset)
    Creates a new thermometer plot, using default attributes where necessary.

    Method Summary

    Object
    clone()
    Returns a clone of the plot.
    void
    datasetChanged(DatasetChangeEvent event)
    Checks to see if a new value means the axis range needs adjusting.
    void
    draw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
    Draws the plot on a Java 2D graphics device (such as the screen or a printer).
    boolean
    equals(Object obj)
    Tests this plot for equality with another object.
    int
    getAxisLocation()
    Returns the axis location.
    Range
    getDataRange(ValueAxis axis)
    Returns the data range.
    ValueDataset
    getDataset()
    Returns the primary dataset for the plot.
    boolean
    getFollowDataInSubranges()
    Returns a flag that controls whether or not the thermometer axis zooms to display the subrange within which the data value falls.
    LegendItemCollection
    getLegendItems()
    Returns the legend items for the plot.
    double
    getLowerBound()
    Returns the lower bound for the thermometer.
    Number
    getMaximumVerticalDataValue()
    Returns the maximum value in either the domain or the range, whichever is displayed against the vertical axis for the particular type of plot implementing this interface.
    Paint
    getMercuryPaint()
    Returns the default mercury paint.
    Number
    getMinimumVerticalDataValue()
    Returns the minimum value in either the domain or the range, whichever is displayed against the vertical axis for the particular type of plot implementing this interface.
    PlotOrientation
    getOrientation()
    Returns the orientation of the plot.
    RectangleInsets
    getPadding()
    Returns the padding for the thermometer.
    String
    getPlotType()
    Returns a short string describing the type of plot.
    ValueAxis
    getRangeAxis()
    Returns the range axis.
    boolean
    getShowValueLines()
    Returns the flag that controls whether not value lines are displayed.
    Paint
    getSubrangePaint(int range)
    Gets the paint used for a particular subrange.
    Paint
    getThermometerPaint()
    Returns the paint used to draw the thermometer outline.
    Stroke
    getThermometerStroke()
    Returns the stroke used to draw the thermometer outline.
    int
    getUnits()
    Returns the unit display type (none/Fahrenheit/Celcius/Kelvin).
    double
    getUpperBound()
    Returns the upper bound for the thermometer.
    boolean
    getUseSubrangePaint()
    Returns a flag that controls whether or not the mercury color changes for each subrange.
    Font
    getValueFont()
    Gets the font used to display the current value.
    int
    getValueLocation()
    Returns the value location.
    Paint
    getValuePaint()
    Gets the paint used to display the current value.
    boolean
    isDomainZoomable()
    Returns false.
    boolean
    isRangeZoomable()
    Returns true.
    protected static boolean
    isValidNumber(double d)
    Determine whether a number is valid and finite.
    void
    setAxisLocation(int location)
    Sets the location at which the axis is displayed with reference to the bulb.
    protected void
    setAxisRange()
    Sets the axis range to the current values in the rangeInfo array.
    void
    setDataset(ValueDataset dataset)
    Sets the dataset for the plot, replacing the existing dataset if there is one.
    void
    setDisplayRange(int range, double low, double high)
    Sets the display range.
    void
    setFollowDataInSubranges(boolean flag)
    Sets the flag that controls whether or not the thermometer axis zooms to display the subrange within which the data value falls.
    void
    setLowerBound(double lower)
    Sets the lower bound for the thermometer.
    void
    setMercuryPaint(Paint paint)
    Sets the default mercury paint.
    void
    setPadding(RectangleInsets padding)
    Sets the padding for the thermometer.
    void
    setRange(double lower, double upper)
    Sets the lower and upper bounds for the thermometer.
    void
    setRangeAxis(ValueAxis axis)
    Sets the range axis for the plot.
    void
    setShowValueLines(boolean b)
    Sets the display as to whether to show value lines in the output.
    void
    setSubrange(int range, double low, double high)
    Sets the range.
    void
    setSubrangeInfo(int range, double low, double hi)
    Sets information for a particular range.
    void
    setSubrangeInfo(int range, double rangeLow, double rangeHigh, double displayLow, double displayHigh)
    Sets the subrangeInfo attribute of the ThermometerPlot object
    void
    setSubrangePaint(int range, Paint paint)
    Sets the paint to be used for a range.
    void
    setThermometerPaint(Paint paint)
    Sets the paint used to draw the thermometer outline.
    void
    setThermometerStroke(Stroke s)
    Sets the stroke used to draw the thermometer outline.
    void
    setUnits(String u)
    Sets the unit type.
    void
    setUnits(int u)
    Sets the units to be displayed in the thermometer.
    void
    setUpperBound(double upper)
    Sets the upper bound for the thermometer.
    void
    setUseSubrangePaint(boolean flag)
    Sets the range colour change option.
    void
    setValueFont(Font f)
    Sets the font used to display the current value.
    void
    setValueFormat(NumberFormat formatter)
    Sets the formatter for the value label.
    void
    setValueLocation(int location)
    Sets the location at which the current value is displayed.
    void
    setValuePaint(Paint p)
    Sets the paint used to display the current value.
    void
    zoom(double percent)
    A zoom method that does nothing.
    void
    zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)
    This method does nothing.
    void
    zoomDomainAxes(double factor, PlotRenderingInfo state, Point2D source)
    Multiplies the range on the domain axis/axes by the specified factor.
    void
    zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)
    Zooms the range axes.
    void
    zoomRangeAxes(double factor, PlotRenderingInfo state, Point2D source)
    Multiplies the range on the range axis/axes by the specified factor.

    Methods inherited from class org.jfree.chart.plot.Plot

    addChangeListener, axisChanged, clone, datasetChanged, draw, drawBackground, drawBackgroundImage, drawNoDataMessage, drawOutline, equals, fillBackground, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getLegendItems, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getPlotType, getRectX, getRectY, getRootPlot, handleClick, isSubplot, markerChanged, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setDatasetGroup, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setParent, zoom

    Field Details

    AXIS_GAP

    protected static final int AXIS_GAP
    The axis gap.
    Field Value:
    10

    BULB

    public static final int BULB
    A constant for the value label position (in the thermometer bulb).
    Field Value:
    3

    BULB_DIAMETER

    protected static final int BULB_DIAMETER
    The bulb diameter.
    Field Value:
    80

    BULB_RADIUS

    protected static final int BULB_RADIUS
    The bulb radius.
    Field Value:
    40

    COLUMN_DIAMETER

    protected static final int COLUMN_DIAMETER
    The column diameter.
    Field Value:
    40

    COLUMN_RADIUS

    protected static final int COLUMN_RADIUS
    The column radius.
    Field Value:
    20

    CRITICAL

    public static final int CRITICAL
    A constant for the 'critical' range.
    Field Value:
    2

    DEFAULT_LOWER_BOUND

    protected static final double DEFAULT_LOWER_BOUND
    The default lower bound.
    Field Value:
    0.0

    DEFAULT_UPPER_BOUND

    protected static final double DEFAULT_UPPER_BOUND
    The default upper bound.
    Field Value:
    100.0

    DISPLAY_HIGH

    protected static final int DISPLAY_HIGH
    Index for display high value in subrangeInfo matrix.
    Field Value:
    3

    DISPLAY_LOW

    protected static final int DISPLAY_LOW
    Index for display low value in subrangeInfo matrix.
    Field Value:
    2

    GAP_DIAMETER

    protected static final int GAP_DIAMETER
    The gap diameter.
    Field Value:
    10

    GAP_RADIUS

    protected static final int GAP_RADIUS
    The gap radius.
    Field Value:
    5

    LEFT

    public static final int LEFT
    A constant for the value label position (left of the thermometer).
    Field Value:
    2

    NONE

    public static final int NONE
    A constant for the value label position (no label).
    Field Value:
    0

    NORMAL

    public static final int NORMAL
    A constant for the 'normal' range.
    Field Value:
    0

    RANGE_HIGH

    protected static final int RANGE_HIGH
    Index for high value in subrangeInfo matrix.
    Field Value:
    1

    RANGE_LOW

    protected static final int RANGE_LOW
    Index for low value in subrangeInfo matrix.
    Field Value:
    0

    RIGHT

    public static final int RIGHT
    A constant for the value label position (right of the thermometer).
    Field Value:
    1

    UNITS

    protected static final String[] UNITS
    The unit strings.

    UNITS_CELCIUS

    public static final int UNITS_CELCIUS
    A constant for unit type 'Celcius'.
    Field Value:
    2

    UNITS_FAHRENHEIT

    public static final int UNITS_FAHRENHEIT
    A constant for unit type 'Fahrenheit'.
    Field Value:
    1

    UNITS_KELVIN

    public static final int UNITS_KELVIN
    A constant for unit type 'Kelvin'.
    Field Value:
    3

    UNITS_NONE

    public static final int UNITS_NONE
    A constant for unit type 'None'.
    Field Value:
    0

    WARNING

    public static final int WARNING
    A constant for the 'warning' range.
    Field Value:
    1

    localizationResources

    protected static ResourceBundle localizationResources
    The resourceBundle for the localization.

    Constructor Details

    ThermometerPlot

    public ThermometerPlot()
    Creates a new thermometer plot.

    ThermometerPlot

    public ThermometerPlot(ValueDataset dataset)
    Creates a new thermometer plot, using default attributes where necessary.
    Parameters:
    dataset - the data set.

    Method Details

    clone

    public Object clone()
                throws CloneNotSupportedException
    Returns a clone of the plot.
    Overrides:
    clone in interface Plot
    Returns:
    A clone.

    datasetChanged

    public void datasetChanged(DatasetChangeEvent event)
    Checks to see if a new value means the axis range needs adjusting.
    Specified by:
    datasetChanged in interface DatasetChangeListener
    Overrides:
    datasetChanged in interface Plot
    Parameters:
    event - the dataset change event.

    draw

    public void draw(Graphics2D g2,
                     Rectangle2D area,
                     Point2D anchor,
                     PlotState parentState,
                     PlotRenderingInfo info)
    Draws the plot on a Java 2D graphics device (such as the screen or a printer).
    Overrides:
    draw in interface Plot
    Parameters:
    g2 - the graphics device.
    area - the area within which the plot should be drawn.
    anchor - the anchor point (null permitted).
    parentState - the state from the parent plot, if there is one.
    info - collects info about the drawing.

    equals

    public boolean equals(Object obj)
    Tests this plot for equality with another object. The plot's dataset is not considered in the test.
    Overrides:
    equals in interface Plot
    Parameters:
    obj - the object (null permitted).
    Returns:
    true or false.

    getAxisLocation

    public int getAxisLocation()
    Returns the axis location.
    Returns:
    The location.

    getDataRange

    public Range getDataRange(ValueAxis axis)
    Returns the data range.
    Specified by:
    getDataRange in interface ValueAxisPlot
    Parameters:
    axis - the axis.
    Returns:
    The range of data displayed.

    getDataset

    public ValueDataset getDataset()
    Returns the primary dataset for the plot.
    Returns:
    The primary dataset (possibly null).

    getFollowDataInSubranges

    public boolean getFollowDataInSubranges()
    Returns a flag that controls whether or not the thermometer axis zooms to display the subrange within which the data value falls.
    Returns:
    The flag.

    getLegendItems

    public LegendItemCollection getLegendItems()
    Returns the legend items for the plot.
    Specified by:
    getLegendItems in interface LegendItemSource
    Overrides:
    getLegendItems in interface Plot
    Returns:
    null.

    getLowerBound

    public double getLowerBound()
    Returns the lower bound for the thermometer. The data value can be set lower than this, but it will not be shown in the thermometer.
    Returns:
    The lower bound.

    getMaximumVerticalDataValue

    public Number getMaximumVerticalDataValue()
    Returns the maximum value in either the domain or the range, whichever is displayed against the vertical axis for the particular type of plot implementing this interface.
    Returns:
    The maximum value in either the domain or the range

    getMercuryPaint

    public Paint getMercuryPaint()
    Returns the default mercury paint.
    Returns:
    The paint.

    getMinimumVerticalDataValue

    public Number getMinimumVerticalDataValue()
    Returns the minimum value in either the domain or the range, whichever is displayed against the vertical axis for the particular type of plot implementing this interface.
    Returns:
    The minimum value in either the domain or the range.

    getOrientation

    public PlotOrientation getOrientation()
    Returns the orientation of the plot.
    Specified by:
    getOrientation in interface Zoomable
    Returns:
    The orientation (always PlotOrientation.VERTICAL).

    getPadding

    public RectangleInsets getPadding()
    Returns the padding for the thermometer. This is the space inside the plot area.
    Returns:
    The padding.

    getPlotType

    public String getPlotType()
    Returns a short string describing the type of plot.
    Overrides:
    getPlotType in interface Plot
    Returns:
    A short string describing the type of plot.

    getRangeAxis

    public ValueAxis getRangeAxis()
    Returns the range axis.
    Returns:
    The range axis.

    getShowValueLines

    public boolean getShowValueLines()
    Returns the flag that controls whether not value lines are displayed.
    Returns:
    The flag.

    getSubrangePaint

    public Paint getSubrangePaint(int range)
    Gets the paint used for a particular subrange.
    Parameters:
    range - the range.
    Returns:
    The paint.

    getThermometerPaint

    public Paint getThermometerPaint()
    Returns the paint used to draw the thermometer outline.
    Returns:
    The paint.

    getThermometerStroke

    public Stroke getThermometerStroke()
    Returns the stroke used to draw the thermometer outline.
    Returns:
    The stroke.

    getUnits

    public int getUnits()
    Returns the unit display type (none/Fahrenheit/Celcius/Kelvin).
    Returns:
    The units type.

    getUpperBound

    public double getUpperBound()
    Returns the upper bound for the thermometer. The data value can be set higher than this, but it will not be shown in the thermometer.
    Returns:
    The upper bound.

    getUseSubrangePaint

    public boolean getUseSubrangePaint()
    Returns a flag that controls whether or not the mercury color changes for each subrange.
    Returns:
    The flag.

    getValueFont

    public Font getValueFont()
    Gets the font used to display the current value.
    Returns:
    The font.

    getValueLocation

    public int getValueLocation()
    Returns the value location.
    Returns:
    The location.

    getValuePaint

    public Paint getValuePaint()
    Gets the paint used to display the current value.
    Returns:
    The paint.

    isDomainZoomable

    public boolean isDomainZoomable()
    Returns false.
    Specified by:
    isDomainZoomable in interface Zoomable
    Returns:
    A boolean.

    isRangeZoomable

    public boolean isRangeZoomable()
    Returns true.
    Specified by:
    isRangeZoomable in interface Zoomable
    Returns:
    A boolean.

    isValidNumber

    protected static boolean isValidNumber(double d)
    Determine whether a number is valid and finite.
    Parameters:
    d - the number to be tested.
    Returns:
    true if the number is valid and finite, and false otherwise.

    setAxisLocation

    public void setAxisLocation(int location)
    Sets the location at which the axis is displayed with reference to the bulb.

    The location can be one of the constants: NONE, RIGHT and LEFT.

    Parameters:
    location - the location.

    setAxisRange

    protected void setAxisRange()
    Sets the axis range to the current values in the rangeInfo array.

    setDataset

    public void setDataset(ValueDataset dataset)
    Sets the dataset for the plot, replacing the existing dataset if there is one.
    Parameters:
    dataset - the dataset (null permitted).

    setDisplayRange

    public void setDisplayRange(int range,
                                double low,
                                double high)
    Sets the display range.
    Parameters:
    range - the range type.
    low - the low value.
    high - the high value.

    setFollowDataInSubranges

    public void setFollowDataInSubranges(boolean flag)
    Sets the flag that controls whether or not the thermometer axis zooms to display the subrange within which the data value falls.
    Parameters:
    flag - the flag.

    setLowerBound

    public void setLowerBound(double lower)
    Sets the lower bound for the thermometer.
    Parameters:
    lower - the lower bound.

    setMercuryPaint

    public void setMercuryPaint(Paint paint)
    Sets the default mercury paint.
    Parameters:
    paint - the new paint.

    setPadding

    public void setPadding(RectangleInsets padding)
    Sets the padding for the thermometer.
    Parameters:
    padding - the padding.

    setRange

    public void setRange(double lower,
                         double upper)
    Sets the lower and upper bounds for the thermometer.
    Parameters:
    lower - the lower bound.
    upper - the upper bound.

    setRangeAxis

    public void setRangeAxis(ValueAxis axis)
    Sets the range axis for the plot.
    Parameters:
    axis - the new axis.

    setShowValueLines

    public void setShowValueLines(boolean b)
    Sets the display as to whether to show value lines in the output.
    Parameters:
    b - Whether to show value lines in the thermometer

    setSubrange

    public void setSubrange(int range,
                            double low,
                            double high)
    Sets the range.
    Parameters:
    range - the range type.
    low - the low value.
    high - the high value.

    setSubrangeInfo

    public void setSubrangeInfo(int range,
                                double low,
                                double hi)
    Sets information for a particular range.
    Parameters:
    range - the range to specify information about.
    low - the low value for the range
    hi - the high value for the range

    setSubrangeInfo

    public void setSubrangeInfo(int range,
                                double rangeLow,
                                double rangeHigh,
                                double displayLow,
                                double displayHigh)
    Sets the subrangeInfo attribute of the ThermometerPlot object
    Parameters:
    range - the new rangeInfo value.
    rangeLow - the new rangeInfo value
    rangeHigh - the new rangeInfo value
    displayLow - the new rangeInfo value
    displayHigh - the new rangeInfo value

    setSubrangePaint

    public void setSubrangePaint(int range,
                                 Paint paint)
    Sets the paint to be used for a range.
    Parameters:
    range - the range.
    paint - the paint to be applied.

    setThermometerPaint

    public void setThermometerPaint(Paint paint)
    Sets the paint used to draw the thermometer outline.
    Parameters:
    paint - the new paint (null ignored).

    setThermometerStroke

    public void setThermometerStroke(Stroke s)
    Sets the stroke used to draw the thermometer outline.
    Parameters:
    s - the new stroke (null ignored).

    setUnits

    public void setUnits(String u)
    Sets the unit type.
    Parameters:
    u - the unit type (null ignored).

    setUnits

    public void setUnits(int u)
    Sets the units to be displayed in the thermometer.

    Use one of the following constants:

    • UNITS_NONE : no units displayed.
    • UNITS_FAHRENHEIT : units displayed in Fahrenheit.
    • UNITS_CELCIUS : units displayed in Celcius.
    • UNITS_KELVIN : units displayed in Kelvin.
    Parameters:
    u - the new unit type.

    setUpperBound

    public void setUpperBound(double upper)
    Sets the upper bound for the thermometer.
    Parameters:
    upper - the upper bound.

    setUseSubrangePaint

    public void setUseSubrangePaint(boolean flag)
    Sets the range colour change option.
    Parameters:
    flag - The new range colour change option

    setValueFont

    public void setValueFont(Font f)
    Sets the font used to display the current value.
    Parameters:
    f - the new font.

    setValueFormat

    public void setValueFormat(NumberFormat formatter)
    Sets the formatter for the value label.
    Parameters:
    formatter - the new formatter.

    setValueLocation

    public void setValueLocation(int location)
    Sets the location at which the current value is displayed.

    The location can be one of the constants: NONE, RIGHT LEFT and BULB.

    Parameters:
    location - the location.

    setValuePaint

    public void setValuePaint(Paint p)
    Sets the paint used to display the current value.
    Parameters:
    p - the new paint.

    zoom

    public void zoom(double percent)
    A zoom method that does nothing. Plots are required to support the zoom operation. In the case of a thermometer chart, it doesn't make sense to zoom in or out, so the method is empty.
    Overrides:
    zoom in interface Plot
    Parameters:
    percent - the zoom percentage.

    zoomDomainAxes

    public void zoomDomainAxes(double lowerPercent,
                               double upperPercent,
                               PlotRenderingInfo state,
                               Point2D source)
    This method does nothing.
    Specified by:
    zoomDomainAxes in interface Zoomable
    Parameters:
    lowerPercent - the lower percent.
    upperPercent - the upper percent.
    state - the plot state.
    source - the source point.

    zoomDomainAxes

    public void zoomDomainAxes(double factor,
                               PlotRenderingInfo state,
                               Point2D source)
    Multiplies the range on the domain axis/axes by the specified factor.
    Specified by:
    zoomDomainAxes in interface Zoomable
    Parameters:
    factor - the zoom factor.
    state - the plot state.
    source - the source point.

    zoomRangeAxes

    public void zoomRangeAxes(double lowerPercent,
                              double upperPercent,
                              PlotRenderingInfo state,
                              Point2D source)
    Zooms the range axes.
    Specified by:
    zoomRangeAxes in interface Zoomable
    Parameters:
    lowerPercent - the lower percent.
    upperPercent - the upper percent.
    state - the plot state.
    source - the source point.

    zoomRangeAxes

    public void zoomRangeAxes(double factor,
                              PlotRenderingInfo state,
                              Point2D source)
    Multiplies the range on the range axis/axes by the specified factor.
    Specified by:
    zoomRangeAxes in interface Zoomable
    Parameters:
    factor - the zoom factor.
    state - the plot state.
    source - the source point.