org.jfree.chart.plot
Class PolarPlot

java.lang.Object
  extended by org.jfree.chart.plot.Plot
      extended by org.jfree.chart.plot.PolarPlot
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AnnotationChangeListener, AxisChangeListener, MarkerChangeListener, RendererChangeListener, LegendItemSource, ValueAxisPlot, Zoomable, DatasetChangeListener, org.jfree.util.PublicCloneable

public class PolarPlot
extends Plot
implements ValueAxisPlot, Zoomable, RendererChangeListener, java.lang.Cloneable, java.io.Serializable

Plots data that is in (theta, radius) pairs where theta equal to zero is due north and increases clockwise.

See Also:
Serialized Form

Field Summary
static double DEFAULT_ANGLE_OFFSET
          The default angle offset.
static double DEFAULT_ANGLE_TICK_UNIT_SIZE
          The default angle tick unit size.
static java.awt.Paint DEFAULT_GRIDLINE_PAINT
          The default grid line paint.
static java.awt.Stroke DEFAULT_GRIDLINE_STROKE
          The default grid line stroke.
protected static java.util.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
PolarPlot()
          Default constructor.
PolarPlot(XYDataset dataset, ValueAxis radiusAxis, PolarItemRenderer renderer)
          Creates a new plot.
 
Method Summary
 void addCornerTextItem(java.lang.String text)
          Add text to be displayed in the lower right hand corner and sends a PlotChangeEvent to all registered listeners.
protected  org.jfree.ui.TextAnchor calculateTextAnchor(double angleDegrees)
          Calculate the text position for the given degrees.
 void clearCornerTextItems()
          Clear the list of corner text items and sends a PlotChangeEvent to all registered listeners.
 java.lang.Object clone()
          Returns a clone of the plot.
 void datasetChanged(DatasetChangeEvent event)
          Receives notification of a change to the plot's m_Dataset.
 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).
protected  AxisState drawAxis(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea)
          Deprecated. As of version 1.0.14, this method is no longer used.
protected  AxisState drawAxis(ValueAxis axis, PolarAxisLocation location, java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea)
          Draws the axis with the specified index.
protected  void drawCornerTextItems(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          Draws the corner text items.
protected  void drawGridlines(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, java.util.List angularTicks, java.util.List radialTicks)
          Draws the gridlines for the plot, if they are visible.
 boolean equals(java.lang.Object obj)
          Tests this plot for equality with another object.
 java.awt.Paint getAngleGridlinePaint()
          Returns the paint for the grid lines (if any) plotted against the angular axis.
 java.awt.Stroke getAngleGridlineStroke()
          Returns the stroke for the grid-lines (if any) plotted against the angular axis.
 java.awt.Font getAngleLabelFont()
          Returns the font used to display the angle labels.
 java.awt.Paint getAngleLabelPaint()
          Returns the paint used to display the angle labels.
 double getAngleOffset()
          Returns the offset that is used for all angles.
 TickUnit getAngleTickUnit()
          Returns the tick unit that controls the spacing of the angular grid lines.
 ValueAxis getAxis()
          Returns the primary axis for the plot.
 ValueAxis getAxis(int index)
          Returns an axis for the plot.
 int getAxisCount()
          Returns the number of domain axes.
 ValueAxis getAxisForDataset(int index)
          Returns the axis for a dataset.
 int getAxisIndex(ValueAxis axis)
          Returns the index of the given axis.
 PolarAxisLocation getAxisLocation()
          Returns the location of the primary axis.
 PolarAxisLocation getAxisLocation(int index)
          Returns the location for an axis.
 Range getDataRange(ValueAxis axis)
          Returns the range for the specified axis.
 XYDataset getDataset()
          Returns the primary dataset for the plot.
 XYDataset getDataset(int index)
          Returns the dataset with the specified index, if any.
 int getDatasetCount()
          Returns the number of datasets.
 LegendItemCollection getFixedLegendItems()
          Returns the fixed legend items, if any.
 int getIndexOf(PolarItemRenderer renderer)
          Returns the index of the specified renderer, or -1 if the renderer is not assigned to this plot.
 LegendItemCollection getLegendItems()
          Returns the legend items for the plot.
 int getMargin()
          Returns the margin around the plot area.
 double getMaxRadius()
          Deprecated. Since 1.0.14, use getAxis() and call the getUpperBound() method.
 PlotOrientation getOrientation()
          Returns the orientation of the plot.
 java.lang.String getPlotType()
          Returns the plot type as a string.
 java.awt.Paint getRadiusGridlinePaint()
          Returns the paint for the grid lines (if any) plotted against the radius axis.
 java.awt.Stroke getRadiusGridlineStroke()
          Returns the stroke for the grid lines (if any) plotted against the radius axis.
 PolarItemRenderer getRenderer()
          Returns the primary renderer.
 PolarItemRenderer getRenderer(int index)
          Returns the renderer at the specified index, if there is one.
 int getSeriesCount()
          Deprecated. Since 1.0.14, grab a reference to the dataset and check the series count directly.
 int indexOf(XYDataset dataset)
          Returns the index of the specified dataset, or -1 if the dataset does not belong to the plot.
 boolean isAngleGridlinesVisible()
          Returns true if the angular gridlines are visible, and false otherwise.
 boolean isAngleLabelsVisible()
          Returns a flag that controls whether or not the angle labels are visible.
 boolean isCounterClockwise()
          Get the direction for growing angle degrees.
 boolean isDomainZoomable()
          Returns false always.
 boolean isRadiusGridlinesVisible()
          Returns true if the radius axis grid is visible, and false otherwise.
 boolean isRangeZoomable()
          Returns true to indicate that the range axis is zoomable.
 void mapDatasetToAxes(int index, java.util.List axisIndices)
          Maps the specified dataset to the axes in the list.
 void mapDatasetToAxis(int index, int axisIndex)
          Maps a dataset to a particular axis.
protected  java.util.List refreshAngleTicks()
          Generates a list of tick values for the angular tick marks.
 void removeCornerTextItem(java.lang.String text)
          Remove the given text from the list of corner text items and sends a PlotChangeEvent to all registered listeners.
protected  void render(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info)
          Draws a representation of the data within the dataArea region, using the current m_Renderer.
 void rendererChanged(RendererChangeEvent event)
          Notifies all registered listeners of a property change.
 void setAngleGridlinePaint(java.awt.Paint paint)
          Sets the paint for the grid lines plotted against the angular axis.
 void setAngleGridlineStroke(java.awt.Stroke stroke)
          Sets the stroke for the grid lines plotted against the angular axis and sends a PlotChangeEvent to all registered listeners.
 void setAngleGridlinesVisible(boolean visible)
          Sets the flag that controls whether or not the angular grid-lines are visible.
 void setAngleLabelFont(java.awt.Font font)
          Sets the font used to display the angle labels and sends a PlotChangeEvent to all registered listeners.
 void setAngleLabelPaint(java.awt.Paint paint)
          Sets the paint used to display the angle labels and sends a PlotChangeEvent to all registered listeners.
 void setAngleLabelsVisible(boolean visible)
          Sets the flag that controls whether or not the angle labels are visible, and sends a PlotChangeEvent to all registered listeners.
 void setAngleOffset(double offset)
          Sets the offset that is used for all angles and sends a PlotChangeEvent to all registered listeners.
 void setAngleTickUnit(TickUnit unit)
          Sets the tick unit that controls the spacing of the angular grid lines, and sends a PlotChangeEvent to all registered listeners.
 void setAxis(int index, ValueAxis axis)
          Sets an axis for the plot and sends a PlotChangeEvent to all registered listeners.
 void setAxis(int index, ValueAxis axis, boolean notify)
          Sets an axis for the plot and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setAxis(ValueAxis axis)
          Sets the primary axis for the plot and sends a PlotChangeEvent to all registered listeners.
 void setAxisLocation(int index, PolarAxisLocation location)
          Sets the location for an axis and sends a PlotChangeEvent to all registered listeners.
 void setAxisLocation(int index, PolarAxisLocation location, boolean notify)
          Sets the axis location for an axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setAxisLocation(PolarAxisLocation location)
          Sets the location of the primary axis and sends a PlotChangeEvent to all registered listeners.
 void setAxisLocation(PolarAxisLocation location, boolean notify)
          Sets the location of the primary axis and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setCounterClockwise(boolean counterClockwise)
          Sets the flag for increasing angle degrees direction.
 void setDataset(int index, XYDataset dataset)
          Sets a dataset for the plot, replacing the existing dataset at the same index if there is one, and sends a link PlotChangeEvent to all registered listeners.
 void setDataset(XYDataset dataset)
          Sets the primary dataset for the plot, replacing the existing dataset if there is one, and sends a link PlotChangeEvent to all registered listeners.
 void setFixedLegendItems(LegendItemCollection items)
          Sets the fixed legend items for the plot.
 void setMargin(int margin)
          Set the margin around the plot area and sends a PlotChangeEvent to all registered listeners.
 void setRadiusGridlinePaint(java.awt.Paint paint)
          Sets the paint for the grid lines plotted against the radius axis and sends a PlotChangeEvent to all registered listeners.
 void setRadiusGridlineStroke(java.awt.Stroke stroke)
          Sets the stroke for the grid lines plotted against the radius axis and sends a PlotChangeEvent to all registered listeners.
 void setRadiusGridlinesVisible(boolean visible)
          Sets the flag that controls whether or not the radius axis grid lines are visible.
 void setRenderer(int index, PolarItemRenderer renderer)
          Sets a renderer and sends a PlotChangeEvent to all registered listeners.
 void setRenderer(int index, PolarItemRenderer renderer, boolean notify)
          Sets a renderer and, if requested, sends a PlotChangeEvent to all registered listeners.
 void setRenderer(PolarItemRenderer renderer)
          Sets the primary renderer, and notifies all listeners of a change to the plot.
 java.awt.Point translateToJava2D(double angleDegrees, double radius, ValueAxis axis, java.awt.geom.Rectangle2D dataArea)
          Translates a (theta, radius) pair into Java2D coordinates.
 java.awt.Point translateValueThetaRadiusToJava2D(double angleDegrees, double radius, java.awt.geom.Rectangle2D dataArea)
          Deprecated. Since 1.0.14, use translateToJava2D(double, double, org.jfree.chart.axis.ValueAxis, java.awt.geom.Rectangle2D) instead.
 void zoom(double percent)
          Zooms the axis ranges by the specified percentage about the anchor point.
 void zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, java.awt.geom.Point2D source)
          This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.
 void zoomDomainAxes(double factor, PlotRenderingInfo state, java.awt.geom.Point2D source)
          This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.
 void zoomDomainAxes(double factor, PlotRenderingInfo state, java.awt.geom.Point2D source, boolean useAnchor)
          This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.
 void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, java.awt.geom.Point2D source)
          Zooms in on the range axes.
 void zoomRangeAxes(double factor, PlotRenderingInfo state, java.awt.geom.Point2D source)
          Multiplies the range on the range axis/axes by the specified factor.
 void zoomRangeAxes(double factor, PlotRenderingInfo info, java.awt.geom.Point2D source, boolean useAnchor)
          Multiplies the range on the range axis by the specified factor.
 
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, annotationChanged, axisChanged, createAndAddEntity, 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_ANGLE_TICK_UNIT_SIZE

public static final double DEFAULT_ANGLE_TICK_UNIT_SIZE
The default angle tick unit size.

Since:
1.0.10
See Also:
Constant Field Values

DEFAULT_ANGLE_OFFSET

public static final double DEFAULT_ANGLE_OFFSET
The default angle offset.

Since:
1.0.14
See Also:
Constant Field Values

DEFAULT_GRIDLINE_STROKE

public static final java.awt.Stroke DEFAULT_GRIDLINE_STROKE
The default grid line stroke.


DEFAULT_GRIDLINE_PAINT

public static final java.awt.Paint DEFAULT_GRIDLINE_PAINT
The default grid line paint.


localizationResources

protected static java.util.ResourceBundle localizationResources
The resourceBundle for the localization.

Constructor Detail

PolarPlot

public PolarPlot()
Default constructor.


PolarPlot

public PolarPlot(XYDataset dataset,
                 ValueAxis radiusAxis,
                 PolarItemRenderer renderer)
Creates a new plot.

Parameters:
dataset - the dataset (null permitted).
radiusAxis - the radius axis (null permitted).
renderer - the renderer (null permitted).
Method Detail

getPlotType

public java.lang.String getPlotType()
Returns the plot type as a string.

Specified by:
getPlotType in class Plot
Returns:
A short string describing the type of plot.

getAxis

public ValueAxis getAxis()
Returns the primary axis for the plot.

Returns:
The primary axis (possibly null).
See Also:
setAxis(ValueAxis)

getAxis

public ValueAxis getAxis(int index)
Returns an axis for the plot.

Parameters:
index - the axis index.
Returns:
The axis (null possible).
Since:
1.0.14
See Also:
setAxis(int, ValueAxis)

setAxis

public void setAxis(ValueAxis axis)
Sets the primary axis for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
axis - the new primary axis (null permitted).

setAxis

public void setAxis(int index,
                    ValueAxis axis)
Sets an axis for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis (null permitted).
Since:
1.0.14
See Also:
getAxis(int)

setAxis

public void setAxis(int index,
                    ValueAxis axis,
                    boolean notify)
Sets an axis for the plot and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
axis - the axis (null permitted).
notify - notify listeners?
Since:
1.0.14
See Also:
getAxis(int)

getAxisLocation

public PolarAxisLocation getAxisLocation()
Returns the location of the primary axis.

Returns:
The location (never null).
Since:
1.0.14
See Also:
setAxisLocation(PolarAxisLocation)

getAxisLocation

public PolarAxisLocation getAxisLocation(int index)
Returns the location for an axis.

Parameters:
index - the axis index.
Returns:
The location (never null).
Since:
1.0.14
See Also:
setAxisLocation(int, PolarAxisLocation)

setAxisLocation

public void setAxisLocation(PolarAxisLocation location)
Sets the location of the primary axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
Since:
1.0.14
See Also:
getAxisLocation()

setAxisLocation

public void setAxisLocation(PolarAxisLocation location,
                            boolean notify)
Sets the location of the primary axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
location - the location (null not permitted).
notify - notify listeners?
Since:
1.0.14
See Also:
getAxisLocation()

setAxisLocation

public void setAxisLocation(int index,
                            PolarAxisLocation location)
Sets the location for an axis and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null not permitted).
Since:
1.0.14
See Also:
getAxisLocation(int)

setAxisLocation

public void setAxisLocation(int index,
                            PolarAxisLocation location,
                            boolean notify)
Sets the axis location for an axis and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the axis index.
location - the location (null not permitted).
notify - notify listeners?
Since:
1.0.14

getAxisCount

public int getAxisCount()
Returns the number of domain axes.

Returns:
The axis count.
Since:
1.0.14

getDataset

public XYDataset getDataset()
Returns the primary dataset for the plot.

Returns:
The primary dataset (possibly null).
See Also:
setDataset(XYDataset)

getDataset

public XYDataset getDataset(int index)
Returns the dataset with the specified index, if any.

Parameters:
index - the dataset index.
Returns:
The dataset (possibly null).
Since:
1.0.14
See Also:
setDataset(int, XYDataset)

setDataset

public void setDataset(XYDataset dataset)
Sets the primary dataset for the plot, replacing the existing dataset if there is one, and sends a link PlotChangeEvent to all registered listeners.

Parameters:
dataset - the dataset (null permitted).
See Also:
getDataset()

setDataset

public void setDataset(int index,
                       XYDataset dataset)
Sets a dataset for the plot, replacing the existing dataset at the same index if there is one, and sends a link PlotChangeEvent to all registered listeners.

Parameters:
index - the dataset index.
dataset - the dataset (null permitted).
Since:
1.0.14
See Also:
getDataset(int)

getDatasetCount

public int getDatasetCount()
Returns the number of datasets.

Returns:
The number of datasets.
Since:
1.0.14

indexOf

public int indexOf(XYDataset dataset)
Returns the index of the specified dataset, or -1 if the dataset does not belong to the plot.

Parameters:
dataset - the dataset (null not permitted).
Returns:
The index.
Since:
1.0.14

getRenderer

public PolarItemRenderer getRenderer()
Returns the primary renderer.

Returns:
The renderer (possibly null).
See Also:
setRenderer(PolarItemRenderer)

getRenderer

public PolarItemRenderer getRenderer(int index)
Returns the renderer at the specified index, if there is one.

Parameters:
index - the renderer index.
Returns:
The renderer (possibly null).
Since:
1.0.14
See Also:
setRenderer(int, PolarItemRenderer)

setRenderer

public void setRenderer(PolarItemRenderer renderer)
Sets the primary renderer, and notifies all listeners of a change to the plot. If the renderer is set to null, no data items will be drawn for the corresponding dataset.

Parameters:
renderer - the new renderer (null permitted).
See Also:
getRenderer()

setRenderer

public void setRenderer(int index,
                        PolarItemRenderer renderer)
Sets a renderer and sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the index.
renderer - the renderer.
Since:
1.0.14
See Also:
getRenderer(int)

setRenderer

public void setRenderer(int index,
                        PolarItemRenderer renderer,
                        boolean notify)
Sets a renderer and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters:
index - the index.
renderer - the renderer.
notify - notify listeners?
Since:
1.0.14
See Also:
getRenderer(int)

getAngleTickUnit

public TickUnit getAngleTickUnit()
Returns the tick unit that controls the spacing of the angular grid lines.

Returns:
The tick unit (never null).
Since:
1.0.10

setAngleTickUnit

public void setAngleTickUnit(TickUnit unit)
Sets the tick unit that controls the spacing of the angular grid lines, and sends a PlotChangeEvent to all registered listeners.

Parameters:
unit - the tick unit (null not permitted).
Since:
1.0.10

getAngleOffset

public double getAngleOffset()
Returns the offset that is used for all angles.

Returns:
The offset for the angles.
Since:
1.0.14

setAngleOffset

public void setAngleOffset(double offset)
Sets the offset that is used for all angles and sends a PlotChangeEvent to all registered listeners. This is useful to let 0 degrees be at the north, east, south or west side of the chart.

Parameters:
offset - The offset
Since:
1.0.14

isCounterClockwise

public boolean isCounterClockwise()
Get the direction for growing angle degrees.

Returns:
true if angle increases counterclockwise, false otherwise.
Since:
1.0.14

setCounterClockwise

public void setCounterClockwise(boolean counterClockwise)
Sets the flag for increasing angle degrees direction. true for counterclockwise, false for clockwise.

Parameters:
counterClockwise - The flag.
Since:
1.0.14

isAngleLabelsVisible

public boolean isAngleLabelsVisible()
Returns a flag that controls whether or not the angle labels are visible.

Returns:
A boolean.
See Also:
setAngleLabelsVisible(boolean)

setAngleLabelsVisible

public void setAngleLabelsVisible(boolean visible)
Sets the flag that controls whether or not the angle labels are visible, and sends a PlotChangeEvent to all registered listeners.

Parameters:
visible - the flag.
See Also:
isAngleLabelsVisible()

getAngleLabelFont

public java.awt.Font getAngleLabelFont()
Returns the font used to display the angle labels.

Returns:
A font (never null).
See Also:
setAngleLabelFont(Font)

setAngleLabelFont

public void setAngleLabelFont(java.awt.Font font)
Sets the font used to display the angle labels and sends a PlotChangeEvent to all registered listeners.

Parameters:
font - the font (null not permitted).
See Also:
getAngleLabelFont()

getAngleLabelPaint

public java.awt.Paint getAngleLabelPaint()
Returns the paint used to display the angle labels.

Returns:
A paint (never null).
See Also:
setAngleLabelPaint(Paint)

setAngleLabelPaint

public void setAngleLabelPaint(java.awt.Paint paint)
Sets the paint used to display the angle labels and sends a PlotChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).

isAngleGridlinesVisible

public boolean isAngleGridlinesVisible()
Returns true if the angular gridlines are visible, and false otherwise.

Returns:
true or false.
See Also:
setAngleGridlinesVisible(boolean)

setAngleGridlinesVisible

public void setAngleGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the angular grid-lines are visible.

If the flag value is changed, a PlotChangeEvent is sent to all registered listeners.

Parameters:
visible - the new value of the flag.
See Also:
isAngleGridlinesVisible()

getAngleGridlineStroke

public java.awt.Stroke getAngleGridlineStroke()
Returns the stroke for the grid-lines (if any) plotted against the angular axis.

Returns:
The stroke (possibly null).
See Also:
setAngleGridlineStroke(Stroke)

setAngleGridlineStroke

public void setAngleGridlineStroke(java.awt.Stroke stroke)
Sets the stroke for the grid lines plotted against the angular axis and sends a PlotChangeEvent to all registered listeners.

If you set this to null, no grid lines will be drawn.

Parameters:
stroke - the stroke (null permitted).
See Also:
getAngleGridlineStroke()

getAngleGridlinePaint

public java.awt.Paint getAngleGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the angular axis.

Returns:
The paint (possibly null).
See Also:
setAngleGridlinePaint(Paint)

setAngleGridlinePaint

public void setAngleGridlinePaint(java.awt.Paint paint)
Sets the paint for the grid lines plotted against the angular axis.

If you set this to null, no grid lines will be drawn.

Parameters:
paint - the paint (null permitted).
See Also:
getAngleGridlinePaint()

isRadiusGridlinesVisible

public boolean isRadiusGridlinesVisible()
Returns true if the radius axis grid is visible, and false otherwise.

Returns:
true or false.
See Also:
setRadiusGridlinesVisible(boolean)

setRadiusGridlinesVisible

public void setRadiusGridlinesVisible(boolean visible)
Sets the flag that controls whether or not the radius axis grid lines are visible.

If the flag value is changed, a PlotChangeEvent is sent to all registered listeners.

Parameters:
visible - the new value of the flag.
See Also:
isRadiusGridlinesVisible()

getRadiusGridlineStroke

public java.awt.Stroke getRadiusGridlineStroke()
Returns the stroke for the grid lines (if any) plotted against the radius axis.

Returns:
The stroke (possibly null).
See Also:
setRadiusGridlineStroke(Stroke)

setRadiusGridlineStroke

public void setRadiusGridlineStroke(java.awt.Stroke stroke)
Sets the stroke for the grid lines plotted against the radius axis and sends a PlotChangeEvent to all registered listeners.

If you set this to null, no grid lines will be drawn.

Parameters:
stroke - the stroke (null permitted).
See Also:
getRadiusGridlineStroke()

getRadiusGridlinePaint

public java.awt.Paint getRadiusGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the radius axis.

Returns:
The paint (possibly null).
See Also:
setRadiusGridlinePaint(Paint)

setRadiusGridlinePaint

public void setRadiusGridlinePaint(java.awt.Paint paint)
Sets the paint for the grid lines plotted against the radius axis and sends a PlotChangeEvent to all registered listeners.

If you set this to null, no grid lines will be drawn.

Parameters:
paint - the paint (null permitted).
See Also:
getRadiusGridlinePaint()

getMargin

public int getMargin()
Returns the margin around the plot area.

Returns:
The actual margin in pixels.
Since:
1.0.14

setMargin

public void setMargin(int margin)
Set the margin around the plot area and sends a PlotChangeEvent to all registered listeners.

Parameters:
margin - The new margin in pixels.
Since:
1.0.14

getFixedLegendItems

public LegendItemCollection getFixedLegendItems()
Returns the fixed legend items, if any.

Returns:
The legend items (possibly null).
Since:
1.0.14
See Also:
setFixedLegendItems(LegendItemCollection)

setFixedLegendItems

public void setFixedLegendItems(LegendItemCollection items)
Sets the fixed legend items for the plot. Leave this set to null if you prefer the legend items to be created automatically.

Parameters:
items - the legend items (null permitted).
Since:
1.0.14
See Also:
getFixedLegendItems()

addCornerTextItem

public void addCornerTextItem(java.lang.String text)
Add text to be displayed in the lower right hand corner and sends a PlotChangeEvent to all registered listeners.

Parameters:
text - the text to display (null not permitted).
See Also:
removeCornerTextItem(String)

removeCornerTextItem

public void removeCornerTextItem(java.lang.String text)
Remove the given text from the list of corner text items and sends a PlotChangeEvent to all registered listeners.

Parameters:
text - the text to remove (null ignored).
See Also:
addCornerTextItem(String)

clearCornerTextItems

public void clearCornerTextItems()
Clear the list of corner text items and sends a PlotChangeEvent to all registered listeners.

See Also:
addCornerTextItem(String), removeCornerTextItem(String)

refreshAngleTicks

protected java.util.List refreshAngleTicks()
Generates a list of tick values for the angular tick marks.

Returns:
A list of NumberTick instances.
Since:
1.0.10

calculateTextAnchor

protected org.jfree.ui.TextAnchor calculateTextAnchor(double angleDegrees)
Calculate the text position for the given degrees.

Returns:
The optimal text anchor.
Since:
1.0.14

mapDatasetToAxis

public void mapDatasetToAxis(int index,
                             int axisIndex)
Maps a dataset to a particular axis. All data will be plotted against axis zero by default, no mapping is required for this case.

Parameters:
index - the dataset index (zero-based).
axisIndex - the axis index.
Since:
1.0.14

mapDatasetToAxes

public void mapDatasetToAxes(int index,
                             java.util.List axisIndices)
Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.

Parameters:
index - the dataset index (zero-based).
axisIndices - the axis indices (null permitted).
Since:
1.0.14

getAxisForDataset

public ValueAxis getAxisForDataset(int index)
Returns the axis for a dataset.

Parameters:
index - the dataset index.
Returns:
The axis.
Since:
1.0.14

getAxisIndex

public int getAxisIndex(ValueAxis axis)
Returns the index of the given axis.

Parameters:
axis - the axis.
Returns:
The axis index or -1 if axis is not used in this plot.
Since:
1.0.14

getIndexOf

public int getIndexOf(PolarItemRenderer renderer)
Returns the index of the specified renderer, or -1 if the renderer is not assigned to this plot.

Parameters:
renderer - the renderer (null permitted).
Returns:
The renderer index.
Since:
1.0.14

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).

This plot relies on a PolarItemRenderer to draw each item in the plot. This allows the visual representation of the data to be changed easily.

The optional info argument collects information about the rendering of the plot (dimensions, tooltip information etc). Just pass in null if you do not need this information.

Specified by:
draw in class Plot
Parameters:
g2 - the graphics device.
area - the area within which the plot (including axes and labels) should be drawn.
anchor - the anchor point (null permitted).
parentState - ignored.
info - collects chart drawing information (null permitted).

drawCornerTextItems

protected void drawCornerTextItems(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D area)
Draws the corner text items.

Parameters:
g2 - the drawing surface.
area - the area.

drawAxis

protected AxisState drawAxis(ValueAxis axis,
                             PolarAxisLocation location,
                             java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D plotArea)
Draws the axis with the specified index.

Parameters:
axis - the axis.
location - the axis location.
g2 - the graphics target.
plotArea - the plot area.
Returns:
The axis state.
Since:
1.0.14

render

protected void render(java.awt.Graphics2D g2,
                      java.awt.geom.Rectangle2D dataArea,
                      PlotRenderingInfo info)
Draws a representation of the data within the dataArea region, using the current m_Renderer.

Parameters:
g2 - the graphics device.
dataArea - the region in which the data is to be drawn.
info - an optional object for collection dimension information (null permitted).

drawGridlines

protected void drawGridlines(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D dataArea,
                             java.util.List angularTicks,
                             java.util.List radialTicks)
Draws the gridlines for the plot, if they are visible.

Parameters:
g2 - the graphics device.
dataArea - the data area.
angularTicks - the ticks for the angular axis.
radialTicks - the ticks for the radial axis.

zoom

public void zoom(double percent)
Zooms the axis ranges by the specified percentage about the anchor point.

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

getDataRange

public Range getDataRange(ValueAxis axis)
Returns the range for the specified axis.

Specified by:
getDataRange in interface ValueAxisPlot
Parameters:
axis - the axis.
Returns:
The range.

datasetChanged

public void datasetChanged(DatasetChangeEvent event)
Receives notification of a change to the plot's m_Dataset.

The axis ranges are updated if necessary.

Specified by:
datasetChanged in interface DatasetChangeListener
Overrides:
datasetChanged in class Plot
Parameters:
event - information about the event (not used here).

rendererChanged

public void rendererChanged(RendererChangeEvent event)
Notifies all registered listeners of a property change.

One source of property change events is the plot's m_Renderer.

Specified by:
rendererChanged in interface RendererChangeListener
Parameters:
event - information about the property change.

getLegendItems

public LegendItemCollection getLegendItems()
Returns the legend items for the plot. Each legend item is generated by the plot's m_Renderer, since the m_Renderer is responsible for the visual representation of the data.

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

equals

public boolean equals(java.lang.Object obj)
Tests this plot for equality with another object.

Overrides:
equals in class Plot
Parameters:
obj - the object (null permitted).
Returns:
true or false.

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 can occur if some component of the plot cannot be cloned.

zoomDomainAxes

public void zoomDomainAxes(double factor,
                           PlotRenderingInfo state,
                           java.awt.geom.Point2D source)
This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.

Specified by:
zoomDomainAxes in interface Zoomable
Parameters:
factor - the zoom factor.
state - the plot state.
source - the source point (in Java2D coordinates).
See Also:
Zoomable.zoomRangeAxes(double, PlotRenderingInfo, Point2D)

zoomDomainAxes

public void zoomDomainAxes(double factor,
                           PlotRenderingInfo state,
                           java.awt.geom.Point2D source,
                           boolean useAnchor)
This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.

Specified by:
zoomDomainAxes in interface Zoomable
Parameters:
factor - the zoom factor.
state - the plot state.
source - the source point (in Java2D coordinates).
useAnchor - use source point as zoom anchor?
Since:
1.0.7
See Also:
Zoomable.zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)

zoomDomainAxes

public void zoomDomainAxes(double lowerPercent,
                           double upperPercent,
                           PlotRenderingInfo state,
                           java.awt.geom.Point2D source)
This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.

Specified by:
zoomDomainAxes in interface Zoomable
Parameters:
lowerPercent - the new lower bound.
upperPercent - the new upper bound.
state - the plot state.
source - the source point (in Java2D coordinates).
See Also:
Zoomable.zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)

zoomRangeAxes

public void zoomRangeAxes(double factor,
                          PlotRenderingInfo state,
                          java.awt.geom.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 (in Java2D coordinates).
See Also:
Zoomable.zoomDomainAxes(double, PlotRenderingInfo, Point2D)

zoomRangeAxes

public void zoomRangeAxes(double factor,
                          PlotRenderingInfo info,
                          java.awt.geom.Point2D source,
                          boolean useAnchor)
Multiplies the range on the range axis by the specified factor.

Specified by:
zoomRangeAxes in interface Zoomable
Parameters:
factor - the zoom factor.
info - the plot rendering info.
source - the source point (in Java2D space).
useAnchor - use source point as zoom anchor?
Since:
1.0.7
See Also:
zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)

zoomRangeAxes

public void zoomRangeAxes(double lowerPercent,
                          double upperPercent,
                          PlotRenderingInfo state,
                          java.awt.geom.Point2D source)
Zooms in on the range axes.

Specified by:
zoomRangeAxes in interface Zoomable
Parameters:
lowerPercent - the new lower bound.
upperPercent - the new upper bound.
state - the plot state.
source - the source point (in Java2D coordinates).
See Also:
Zoomable.zoomDomainAxes(double, double, PlotRenderingInfo, Point2D)

isDomainZoomable

public boolean isDomainZoomable()
Returns false always.

Specified by:
isDomainZoomable in interface Zoomable
Returns:
false always.
See Also:
Zoomable.isRangeZoomable()

isRangeZoomable

public boolean isRangeZoomable()
Returns true to indicate that the range axis is zoomable.

Specified by:
isRangeZoomable in interface Zoomable
Returns:
true.
See Also:
Zoomable.isDomainZoomable()

getOrientation

public PlotOrientation getOrientation()
Returns the orientation of the plot.

Specified by:
getOrientation in interface Zoomable
Returns:
The orientation.

translateToJava2D

public java.awt.Point translateToJava2D(double angleDegrees,
                                        double radius,
                                        ValueAxis axis,
                                        java.awt.geom.Rectangle2D dataArea)
Translates a (theta, radius) pair into Java2D coordinates. If radius is less than the lower bound of the axis, then this method returns the centre point.

Parameters:
angleDegrees - the angle in degrees.
radius - the radius.
dataArea - the data area.
Returns:
A point in Java2D space.
Since:
1.0.14

translateValueThetaRadiusToJava2D

public java.awt.Point translateValueThetaRadiusToJava2D(double angleDegrees,
                                                        double radius,
                                                        java.awt.geom.Rectangle2D dataArea)
Deprecated. Since 1.0.14, use translateToJava2D(double, double, org.jfree.chart.axis.ValueAxis, java.awt.geom.Rectangle2D) instead.

Translates a (theta, radius) pair into Java2D coordinates. If radius is less than the lower bound of the axis, then this method returns the centre point.

Parameters:
angleDegrees - the angle in degrees.
radius - the radius.
dataArea - the data area.
Returns:
A point in Java2D space.

getMaxRadius

public double getMaxRadius()
Deprecated. Since 1.0.14, use getAxis() and call the getUpperBound() method.

Returns the upper bound of the radius axis.

Returns:
The upper bound.

getSeriesCount

public int getSeriesCount()
Deprecated. Since 1.0.14, grab a reference to the dataset and check the series count directly.

Returns the number of series in the dataset for this plot. If the dataset is null, the method returns 0.

Returns:
The series count.

drawAxis

protected AxisState drawAxis(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D plotArea,
                             java.awt.geom.Rectangle2D dataArea)
Deprecated. As of version 1.0.14, this method is no longer used.

A utility method for drawing the axes.

Parameters:
g2 - the graphics device.
plotArea - the plot area.
dataArea - the data area.
Returns:
A map containing the axis states.