org.jfree.chart.plot

## Class CompassPlot

- java.lang.Object
- - org.jfree.chart.plot.Plot
  - - org.jfree.chart.plot.CompassPlot

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

    public class CompassPlot
    extends Plot
    implements java.lang.Cloneable, java.io.Serializable

A specialised plot that draws a compass to indicate a direction based on the value from a `ValueDataset`.

See Also:
  Serialized Form

### Field Summary

Fields
`static java.awt.Font` `DEFAULT_LABEL_FONT` The default label font.
`protected static java.util.ResourceBundle` `localizationResources` The resourceBundle for the localization.
`static int` `NO_LABELS` A constant for the label type.
`protected double` `revolutionDistance` The count to complete one revolution.
`static int` `VALUE_LABELS` A constant for the label type.

### 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
`CompassPlot()` Default constructor.
`CompassPlot(ValueDataset dataset)` Constructs a new compass plot.

### Method Summary

Methods
`void` `addDataset(ValueDataset dataset)` Adds a dataset to the compass.
`void` `addDataset(ValueDataset dataset, MeterNeedle needle)` Adds a dataset to the compass.
`java.lang.Object` `clone()` Returns a clone of the plot.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, PlotState parentState, PlotRenderingInfo info)` Draws the plot on a Java 2D graphics device (such as the screen or a printer).
`boolean` `equals(java.lang.Object obj)` Tests an object for equality with this plot.
`protected java.awt.Font` `getCompassFont(int radius)` Returns the font for the compass, adjusted for the size of the plot.
`ValueDataset[]` `getDatasets()` Returns an array of dataset references for the plot.
`boolean` `getDrawBorder()` Returns a flag that controls whether or not a border is drawn.
`java.awt.Font` `getLabelFont()` Returns the label font.
`int` `getLabelType()` Returns the label type.
`LegendItemCollection` `getLegendItems()` Returns the legend items for the plot.
`java.lang.String` `getPlotType()` Returns a short string describing the type of plot.
`double` `getRevolutionDistance()` Gets the count to complete one revolution.
`java.awt.Paint` `getRoseCenterPaint()` Returns the paint used to fill the inner background area of the compass.
`java.awt.Paint` `getRoseHighlightPaint()` Returns the paint used to draw the circles, symbols and labels on the compass.
`java.awt.Paint` `getRosePaint()` Returns the paint used to fill the outer circle of the compass.
`void` `setDrawBorder(boolean status)` Sets a flag that controls whether or not a border is drawn.
`void` `setLabelFont(java.awt.Font font)` Sets the label font and sends a `PlotChangeEvent` to all registered listeners.
`void` `setLabelType(int type)` Sets the label type (either `NO_LABELS` or `VALUE_LABELS`.
`void` `setRevolutionDistance(double size)` Sets the count to complete one revolution.
`void` `setRoseCenterPaint(java.awt.Paint paint)` Sets the paint used to fill the inner background area of the compass, and sends a `PlotChangeEvent` to all registered listeners.
`void` `setRoseHighlightPaint(java.awt.Paint paint)` Sets the paint used to draw the circles, symbols and labels of the compass, and sends a `PlotChangeEvent` to all registered listeners.
`void` `setRosePaint(java.awt.Paint paint)` Sets the paint used to fill the outer circle of the compass, and sends a `PlotChangeEvent` to all registered listeners.
`void` `setSeriesNeedle(int type)` Sets the needle type.
`void` `setSeriesNeedle(int index, int type)` Sets the needle for a series.
`void` `setSeriesNeedle(int index, MeterNeedle needle)` Sets the needle for a series and sends a `PlotChangeEvent` to all registered listeners.
`void` `setSeriesOutlinePaint(int series, java.awt.Paint p)` Sets the series outline paint.
`void` `setSeriesOutlineStroke(int series, java.awt.Stroke stroke)` Sets the series outline stroke.
`void` `setSeriesPaint(int series, java.awt.Paint paint)` Sets the series paint.
`void` `zoom(double percent)` No zooming is implemented for compass plot, so this method is empty.

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

`addChangeListener, annotationChanged, axisChanged, createAndAddEntity, datasetChanged, drawBackground, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, 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`

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

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

### Field Detail

#### DEFAULT_LABEL_FONT

    public static final java.awt.Font DEFAULT_LABEL_FONT

The default label font.

#### NO_LABELS

    public static final int NO_LABELS

A constant for the label type.

See Also:
  Constant Field Values

#### VALUE_LABELS

    public static final int VALUE_LABELS

A constant for the label type.

See Also:
  Constant Field Values

#### localizationResources

    protected static java.util.ResourceBundle localizationResources

The resourceBundle for the localization.

#### revolutionDistance

    protected double revolutionDistance

The count to complete one revolution. Can be arbitrarily set For degrees (the default) it is 360, for radians this is 2*Pi, etc

### Constructor Detail

#### CompassPlot

    public CompassPlot()

Default constructor.

#### CompassPlot

    public CompassPlot(ValueDataset dataset)

Constructs a new compass plot.

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

### Method Detail

#### getLabelType

    public int getLabelType()

Returns the label type. Defined by the constants: `NO_LABELS` and `VALUE_LABELS`.

Returns:
  The label type.
See Also:
  `setLabelType(int)`

#### setLabelType

    public void setLabelType(int type)

Sets the label type (either `NO_LABELS` or `VALUE_LABELS`.

Parameters:
  `type` - the type.
See Also:
  `getLabelType()`

#### getLabelFont

    public java.awt.Font getLabelFont()

Returns the label font.

Returns:
  The label font.
See Also:
  `setLabelFont(Font)`

#### setLabelFont

    public void setLabelFont(java.awt.Font font)

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

Parameters:
  `font` - the new label font.
See Also:
  `getLabelFont()`

#### getRosePaint

    public java.awt.Paint getRosePaint()

Returns the paint used to fill the outer circle of the compass.

Returns:
  The paint (never `null`).
See Also:
  `setRosePaint(Paint)`

#### setRosePaint

    public void setRosePaint(java.awt.Paint paint)

Sets the paint used to fill the outer circle of the compass, and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getRosePaint()`

#### getRoseCenterPaint

    public java.awt.Paint getRoseCenterPaint()

Returns the paint used to fill the inner background area of the compass.

Returns:
  The paint (never `null`).
See Also:
  `setRoseCenterPaint(Paint)`

#### setRoseCenterPaint

    public void setRoseCenterPaint(java.awt.Paint paint)

Sets the paint used to fill the inner background area of the compass, and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getRoseCenterPaint()`

#### getRoseHighlightPaint

    public java.awt.Paint getRoseHighlightPaint()

Returns the paint used to draw the circles, symbols and labels on the compass.

Returns:
  The paint (never `null`).
See Also:
  `setRoseHighlightPaint(Paint)`

#### setRoseHighlightPaint

    public void setRoseHighlightPaint(java.awt.Paint paint)

Sets the paint used to draw the circles, symbols and labels of the compass, and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getRoseHighlightPaint()`

#### getDrawBorder

    public boolean getDrawBorder()

Returns a flag that controls whether or not a border is drawn.

Returns:
  The flag.
See Also:
  `setDrawBorder(boolean)`

#### setDrawBorder

    public void setDrawBorder(boolean status)

Sets a flag that controls whether or not a border is drawn.

Parameters:
  `status` - the flag status.
See Also:
  `getDrawBorder()`

#### setSeriesPaint

    public void setSeriesPaint(int series,
                      java.awt.Paint paint)

Sets the series paint.

Parameters:
  `series` - the series index.
  `paint` - the paint.
See Also:
  `setSeriesOutlinePaint(int, Paint)`

#### setSeriesOutlinePaint

    public void setSeriesOutlinePaint(int series,
                             java.awt.Paint p)

Sets the series outline paint.

Parameters:
  `series` - the series index.
  `p` - the paint.
See Also:
  `setSeriesPaint(int, Paint)`

#### setSeriesOutlineStroke

    public void setSeriesOutlineStroke(int series,
                              java.awt.Stroke stroke)

Sets the series outline stroke.

Parameters:
  `series` - the series index.
  `stroke` - the stroke.
See Also:
  `setSeriesOutlinePaint(int, Paint)`

#### setSeriesNeedle

    public void setSeriesNeedle(int type)

Sets the needle type.

Parameters:
  `type` - the type.
See Also:
  `setSeriesNeedle(int, int)`

#### setSeriesNeedle

    public void setSeriesNeedle(int index,
                       int type)

Sets the needle for a series. The needle type is one of the following:

- 0 = `ArrowNeedle`;
- 1 = `LineNeedle`;
- 2 = `LongNeedle`;
- 3 = `PinNeedle`;
- 4 = `PlumNeedle`;
- 5 = `PointerNeedle`;
- 6 = `ShipNeedle`;
- 7 = `WindNeedle`;
- 8 = `ArrowNeedle`;
- 9 = `MiddlePinNeedle`;

Parameters:
  `index` - the series index.
  `type` - the needle type.
See Also:
  `setSeriesNeedle(int)`

#### setSeriesNeedle

    public void setSeriesNeedle(int index,
                       MeterNeedle needle)

Sets the needle for a series and sends a `PlotChangeEvent` to all registered listeners.

Parameters:
  `index` - the series index.
  `needle` - the needle.

#### getDatasets

    public ValueDataset[] getDatasets()

Returns an array of dataset references for the plot.

Returns:
  The dataset for the plot, cast as a ValueDataset.
See Also:
  `addDataset(ValueDataset)`

#### addDataset

    public void addDataset(ValueDataset dataset)

Adds a dataset to the compass.

Parameters:
  `dataset` - the new dataset (`null` ignored).
See Also:
  `addDataset(ValueDataset, MeterNeedle)`

#### addDataset

    public void addDataset(ValueDataset dataset,
                  MeterNeedle needle)

Adds a dataset to the compass.

Parameters:
  `dataset` - the new dataset (`null` ignored).
  `needle` - the needle (`null` permitted).

#### 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 on a Java 2D graphics device (such as the screen or a printer).

Specified by:
  `draw` in class `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.

#### getPlotType

    public java.lang.String getPlotType()

Returns a short string describing the type of plot.

Specified by:
  `getPlotType` in class `Plot`
Returns:
  A string describing the plot.

#### getLegendItems

    public LegendItemCollection getLegendItems()

Returns the legend items for the plot. For now, no legend is available - this method returns null.

Specified by:
  `getLegendItems` in interface `LegendItemSource`
Overrides:
  `getLegendItems` in class `Plot`
Returns:
  The legend items.

#### zoom

    public void zoom(double percent)

No zooming is implemented for compass plot, so this method is empty.

Overrides:
  `zoom` in class `Plot`
Parameters:
  `percent` - the zoom amount.

#### getCompassFont

    protected java.awt.Font getCompassFont(int radius)

Returns the font for the compass, adjusted for the size of the plot.

Parameters:
  `radius` - the radius.
Returns:
  The font.

#### equals

    public boolean equals(java.lang.Object obj)

Tests an object for equality with this plot.

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

#### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

Returns a clone of the plot.

Specified by:
  `clone` in interface `org.jfree.util.PublicCloneable`
Overrides:
  `clone` in class `Plot`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses (if any) might.

#### setRevolutionDistance

    public void setRevolutionDistance(double size)

Sets the count to complete one revolution. Can be arbitrarily set For degrees (the default) it is 360, for radians this is 2*Pi, etc

Parameters:
  `size` - the count to complete one revolution.
See Also:
  `getRevolutionDistance()`

#### getRevolutionDistance

    public double getRevolutionDistance()

Gets the count to complete one revolution.

Returns:
  The count to complete one revolution.
See Also:
  `setRevolutionDistance(double)`