org.jfree.chart.plot.dial

## Class DialPlot

- java.lang.Object
- - org.jfree.chart.plot.Plot
  - - org.jfree.chart.plot.dial.DialPlot

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AnnotationChangeListener, AxisChangeListener, MarkerChangeListener, LegendItemSource, DialLayerChangeListener, DatasetChangeListener, org.jfree.util.PublicCloneable

    public class DialPlot
    extends Plot
    implements DialLayerChangeListener

A dial plot composed of user-definable layers. The example shown here is generated by the `DialDemo2.java` program included in the JFreeChart Demo Collection:

Since:
  1.0.7
See Also:
  Serialized Form

### Field Summary

### 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

Constructors
Constructor and Description
`DialPlot()` Creates a new instance of `DialPlot`.
`DialPlot(ValueDataset dataset)` Creates a new instance of `DialPlot`.

### Method Summary

Methods
`void` `addLayer(DialLayer layer)` Adds a layer to the plot and sends a `PlotChangeEvent` to all registered listeners.
`void` `addPointer(DialPointer pointer)` Adds a pointer to the plot and sends a `PlotChangeEvent` to all registered listeners.
`void` `addScale(int index, DialScale scale)` Adds a dial scale to the plot and sends a `PlotChangeEvent` to all registered listeners.
`void` `dialLayerChanged(DialLayerChangeEvent event)` Receives notification when a layer has changed, and responds by forwarding a `PlotChangeEvent` to all registered listeners.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, PlotState parentState, PlotRenderingInfo info)` Draws the plot.
`boolean` `equals(java.lang.Object obj)` Tests this `DialPlot` instance for equality with an arbitrary object.
`DialLayer` `getBackground()` Returns the background.
`DialLayer` `getCap()` Returns the cap.
`ValueDataset` `getDataset()` Returns the primary dataset for the plot.
`ValueDataset` `getDataset(int index)` Returns the dataset at the given index.
`int` `getDatasetCount()` Returns the number of datasets.
`DialFrame` `getDialFrame()` Returns the dial's frame.
`int` `getLayerIndex(DialLayer layer)` Returns the index for the specified layer.
`java.lang.String` `getPlotType()` Returns the plot type.
`DialPointer` `getPointerForDataset(int datasetIndex)` Returns the dial pointer that is associated with the specified dataset, or `null`.
`int` `getPointerIndex(DialPointer pointer)` Returns the index for the specified pointer.
`DialScale` `getScale(int index)` Returns the scale at the given index.
`DialScale` `getScaleForDataset(int datasetIndex)` Returns the dial scale for a specific dataset.
`double` `getValue(int datasetIndex)` Returns the value from the specified dataset.
`double` `getViewHeight()` Returns the height of the viewing rectangle.
`double` `getViewWidth()` Returns the width of the viewing rectangle.
`double` `getViewX()` Returns the x-coordinate of the viewing rectangle.
`double` `getViewY()` Returns the y-coordinate of the viewing rectangle.
`int` `hashCode()` Returns a hash code for this instance.
`void` `mapDatasetToScale(int index, int scaleIndex)` Maps a dataset to a particular scale.
`static java.awt.geom.Rectangle2D` `rectangleByRadius(java.awt.geom.Rectangle2D rect, double radiusW, double radiusH)` A utility method that computes a rectangle using relative radius values.
`void` `removeLayer(DialLayer layer)` Removes the specified layer and sends a `PlotChangeEvent` to all registered listeners.
`void` `removeLayer(int index)` Removes the layer at the specified index and sends a `PlotChangeEvent` to all registered listeners.
`void` `removePointer(DialPointer pointer)` Removes the specified pointer and sends a `PlotChangeEvent` to all registered listeners.
`void` `removePointer(int index)` Removes the pointer at the specified index and sends a `PlotChangeEvent` to all registered listeners.
`void` `setBackground(DialLayer background)` Sets the background layer and sends a `PlotChangeEvent` to all registered listeners.
`void` `setCap(DialLayer cap)` Sets the cap and sends a `PlotChangeEvent` to all registered listeners.
`void` `setDataset(int index, ValueDataset dataset)` Sets a dataset for the plot.
`void` `setDataset(ValueDataset dataset)` Sets the dataset for the plot, replacing the existing dataset, if there is one, and sends a `PlotChangeEvent` to all registered listeners.
`void` `setDialFrame(DialFrame frame)` Sets the dial's frame and sends a `PlotChangeEvent` to all registered listeners.
`void` `setView(double x, double y, double w, double h)` Sets the viewing rectangle, relative to the dial's framing rectangle, and sends a `PlotChangeEvent` to all registered listeners.

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

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

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DialPlot

    public DialPlot()

Creates a new instance of `DialPlot`.

#### DialPlot

    public DialPlot(ValueDataset dataset)

Creates a new instance of `DialPlot`.

Parameters:
  `dataset` - the dataset (`null` permitted).

### Method Detail

#### getBackground

    public DialLayer getBackground()

Returns the background.

Returns:
  The background (possibly `null`).
See Also:
  `setBackground(DialLayer)`

#### setBackground

    public void setBackground(DialLayer background)

Sets the background layer and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `background` - the background layer (`null` permitted).
See Also:
  `getBackground()`

#### getCap

    public DialLayer getCap()

Returns the cap.

Returns:
  The cap (possibly `null`).
See Also:
  `setCap(DialLayer)`

#### setCap

    public void setCap(DialLayer cap)

Sets the cap and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `cap` - the cap (`null` permitted).
See Also:
  `getCap()`

#### getDialFrame

    public DialFrame getDialFrame()

Returns the dial's frame.

Returns:
  The dial's frame (never `null`).
See Also:
  `setDialFrame(DialFrame)`

#### setDialFrame

    public void setDialFrame(DialFrame frame)

Sets the dial's frame and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `frame` - the frame (`null` not permitted).
See Also:
  `getDialFrame()`

#### getViewX

    public double getViewX()

Returns the x-coordinate of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.

Returns:
  The x-coordinate of the viewing rectangle.
See Also:
  `setView(double, double, double, double)`

#### getViewY

    public double getViewY()

Returns the y-coordinate of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.

Returns:
  The y-coordinate of the viewing rectangle.
See Also:
  `setView(double, double, double, double)`

#### getViewWidth

    public double getViewWidth()

Returns the width of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.

Returns:
  The width of the viewing rectangle.
See Also:
  `setView(double, double, double, double)`

#### getViewHeight

    public double getViewHeight()

Returns the height of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.

Returns:
  The height of the viewing rectangle.
See Also:
  `setView(double, double, double, double)`

#### setView

    public void setView(double x,
               double y,
               double w,
               double h)

Sets the viewing rectangle, relative to the dial's framing rectangle, and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `x` - the x-coordinate (in the range 0.0 to 1.0).
  `y` - the y-coordinate (in the range 0.0 to 1.0).
  `w` - the width (in the range 0.0 to 1.0).
  `h` - the height (in the range 0.0 to 1.0).
See Also:
  `getViewX()`, `getViewY()`, `getViewWidth()`, `getViewHeight()`

#### addLayer

    public void addLayer(DialLayer layer)

Adds a layer to the plot and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `layer` - the layer (`null` not permitted).

#### getLayerIndex

    public int getLayerIndex(DialLayer layer)

Returns the index for the specified layer.

Parameters:
  `layer` - the layer (`null` not permitted).
Returns:
  The layer index.

#### removeLayer

    public void removeLayer(int index)

Removes the layer at the specified index and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `index` - the index.

#### removeLayer

    public void removeLayer(DialLayer layer)

Removes the specified layer and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `layer` - the layer (`null` not permitted).

#### addPointer

    public void addPointer(DialPointer pointer)

Adds a pointer to the plot and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `pointer` - the pointer (`null` not permitted).

#### getPointerIndex

    public int getPointerIndex(DialPointer pointer)

Returns the index for the specified pointer.

Parameters:
  `pointer` - the pointer (`null` not permitted).
Returns:
  The pointer index.

#### removePointer

    public void removePointer(int index)

Removes the pointer at the specified index and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `index` - the index.

#### removePointer

    public void removePointer(DialPointer pointer)

Removes the specified pointer and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `pointer` - the pointer (`null` not permitted).

#### getPointerForDataset

    public DialPointer getPointerForDataset(int datasetIndex)

Returns the dial pointer that is associated with the specified dataset, or `null`.

Parameters:
  `datasetIndex` - the dataset index.
Returns:
  The pointer.

#### getDataset

    public ValueDataset getDataset()

Returns the primary dataset for the plot.

Returns:
  The primary dataset (possibly `null`).

#### getDataset

    public ValueDataset getDataset(int index)

Returns the dataset at the given index.

Parameters:
  `index` - the dataset index.
Returns:
  The dataset (possibly `null`).

#### setDataset

    public void setDataset(ValueDataset dataset)

Sets the dataset for the plot, replacing the existing dataset, if there is one, and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `dataset` - the dataset (`null` permitted).

#### setDataset

    public void setDataset(int index,
                  ValueDataset dataset)

Sets a dataset for the plot.

Parameters:
  `index` - the dataset index.
  `dataset` - the dataset (`null` permitted).

#### getDatasetCount

    public int getDatasetCount()

Returns the number of datasets.

Returns:
  The number of datasets.

#### draw

    public void draw(java.awt.Graphics2D g2,
            java.awt.geom.Rectangle2D area,
            java.awt.geom.Point2D anchor,
            PlotState parentState,
            PlotRenderingInfo info)

Draws the plot. This method is usually called by the `JFreeChart` instance that manages the plot.

Specified by:
  `draw` in class `Plot`
Parameters:
  `g2` - the graphics target.
  `area` - the area in which the plot should be drawn.
  `anchor` - the anchor point (typically the last point that the mouse clicked on, `null` is permitted).
  `parentState` - the state for the parent plot (if any).
  `info` - used to collect plot rendering info (`null` permitted).

#### getValue

    public double getValue(int datasetIndex)

Returns the value from the specified dataset.

Parameters:
  `datasetIndex` - the dataset index.
Returns:
  The data value.

#### addScale

    public void addScale(int index,
                DialScale scale)

Adds a dial scale to the plot and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `index` - the scale index.
  `scale` - the scale (`null` not permitted).

#### getScale

    public DialScale getScale(int index)

Returns the scale at the given index.

Parameters:
  `index` - the scale index.
Returns:
  The scale (possibly `null`).

#### mapDatasetToScale

    public void mapDatasetToScale(int index,
                         int scaleIndex)

Maps a dataset to a particular scale.

Parameters:
  `index` - the dataset index (zero-based).
  `scaleIndex` - the scale index (zero-based).

#### getScaleForDataset

    public DialScale getScaleForDataset(int datasetIndex)

Returns the dial scale for a specific dataset.

Parameters:
  `datasetIndex` - the dataset index.
Returns:
  The dial scale.

#### rectangleByRadius

    public static java.awt.geom.Rectangle2D rectangleByRadius(java.awt.geom.Rectangle2D rect,
                                              double radiusW,
                                              double radiusH)

A utility method that computes a rectangle using relative radius values.

Parameters:
  `rect` - the reference rectangle (`null` not permitted).
  `radiusW` - the width radius (must be > 0.0)
  `radiusH` - the height radius.
Returns:
  A new rectangle.

#### dialLayerChanged

    public void dialLayerChanged(DialLayerChangeEvent event)

Receives notification when a layer has changed, and responds by forwarding a `PlotChangeEvent` to all registered listeners.

Specified by:
  `dialLayerChanged` in interface `DialLayerChangeListener`
Parameters:
  `event` - the event.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this `DialPlot` instance for equality with an arbitrary object. The plot's dataset(s) is (are) not included in the test.

Overrides:
  `equals` in class `Plot`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code for this instance.

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  The hash code.

#### getPlotType

    public java.lang.String getPlotType()

Returns the plot type.

Specified by:
  `getPlotType` in class `Plot`
Returns:
  `"DialPlot"`