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

Method Summary
`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, axisChanged, 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, isOutlineVisible, isSubplot, markerChanged, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setDatasetGroup, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, 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)`