public class

PolarPlot

extends Plot
implements Serializable Cloneable RendererChangeListener ValueAxisPlot Zoomable
java.lang.Object
   ↳ org.jfree.chart.plot.Plot
     ↳ org.jfree.chart.plot.PolarPlot

Class Overview

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

Summary

Constants
double DEFAULT_ANGLE_TICK_UNIT_SIZE The default angle tick unit size.
[Expand]
Inherited Constants
From class org.jfree.chart.plot.Plot
Fields
public static final Paint DEFAULT_GRIDLINE_PAINT The default grid line paint.
public static final Stroke DEFAULT_GRIDLINE_STROKE The default grid line stroke.
protected static ResourceBundle localizationResources The resourceBundle for the localization.
[Expand]
Inherited Fields
From class org.jfree.chart.plot.Plot
Public Constructors
PolarPlot()
Default constructor.
PolarPlot(XYDataset dataset, ValueAxis radiusAxis, PolarItemRenderer renderer)
Creates a new plot.
Public Methods
void addCornerTextItem(String text)
Add text to be displayed in the lower right hand corner and sends a PlotChangeEvent to all registered listeners.
void clearCornerTextItems()
Clear the list of corner text items and sends a PlotChangeEvent to all registered listeners.
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(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.
Paint getAngleGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the angular axis.
Stroke getAngleGridlineStroke()
Returns the stroke for the grid-lines (if any) plotted against the angular axis.
Font getAngleLabelFont()
Returns the font used to display the angle labels.
Paint getAngleLabelPaint()
Returns the paint used to display the angle labels.
TickUnit getAngleTickUnit()
Returns the tick unit that controls the spacing of the angular grid lines.
ValueAxis getAxis()
Returns the axis for the plot.
Range getDataRange(ValueAxis axis)
Returns the range for the specified axis.
XYDataset getDataset()
Returns the primary dataset for the plot.
LegendItemCollection getLegendItems()
Returns the legend items for the plot.
double getMaxRadius()
Returns the upper bound of the radius axis.
PlotOrientation getOrientation()
Returns the orientation of the plot.
String getPlotType()
Returns the plot type as a string.
Paint getRadiusGridlinePaint()
Returns the paint for the grid lines (if any) plotted against the radius axis.
Stroke getRadiusGridlineStroke()
Returns the stroke for the grid lines (if any) plotted against the radius axis.
PolarItemRenderer getRenderer()
Returns the item renderer.
int getSeriesCount()
Returns the number of series in the dataset for this 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 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 removeCornerTextItem(String text)
Remove the given text from the list of corner text items and sends a PlotChangeEvent to all registered listeners.
void rendererChanged(RendererChangeEvent event)
Notifies all registered listeners of a property change.
void setAngleGridlinePaint(Paint paint)
Sets the paint for the grid lines plotted against the angular axis.
void setAngleGridlineStroke(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(Font font)
Sets the font used to display the angle labels and sends a PlotChangeEvent to all registered listeners.
void setAngleLabelPaint(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 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(ValueAxis axis)
Sets the axis for the plot and sends a PlotChangeEvent to all registered listeners.
void setDataset(XYDataset dataset)
Sets the dataset for the plot, replacing the existing dataset if there is one.
void setRadiusGridlinePaint(Paint paint)
Sets the paint for the grid lines plotted against the radius axis and sends a PlotChangeEvent to all registered listeners.
void setRadiusGridlineStroke(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(PolarItemRenderer renderer)
Sets the item renderer, and notifies all listeners of a change to the plot.
Point translateValueThetaRadiusToJava2D(double angleDegrees, double radius, Rectangle2D dataArea)
Translates a (theta, radius) pair into Java2D coordinates.
void zoom(double percent)
Zooms the axis ranges by the specified percentage about the anchor point.
void zoomDomainAxes(double factor, PlotRenderingInfo state, 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, 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 zoomDomainAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)
This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.
void zoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor)
Multiplies the range on the range axis by the specified factor.
void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)
Zooms in on the range axes.
void zoomRangeAxes(double factor, PlotRenderingInfo state, Point2D source)
Multiplies the range on the range axis/axes by the specified factor.
Protected Methods
AxisState drawAxis(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea)
A utility method for drawing the axes.
void drawCornerTextItems(Graphics2D g2, Rectangle2D area)
Draws the corner text items.
void drawGridlines(Graphics2D g2, Rectangle2D dataArea, List angularTicks, List radialTicks)
Draws the gridlines for the plot, if they are visible.
List refreshAngleTicks()
Generates a list of tick values for the angular tick marks.
void render(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info)
Draws a representation of the data within the dataArea region, using the current m_Renderer.
[Expand]
Inherited Methods
From class org.jfree.chart.plot.Plot
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.event.AxisChangeListener
From interface org.jfree.chart.event.MarkerChangeListener
From interface org.jfree.chart.event.RendererChangeListener
From interface org.jfree.chart.plot.ValueAxisPlot
From interface org.jfree.chart.plot.Zoomable
From interface org.jfree.data.general.DatasetChangeListener

Constants

public static final double DEFAULT_ANGLE_TICK_UNIT_SIZE

The default angle tick unit size.

Constant Value: 45.0

Fields

public static final Paint DEFAULT_GRIDLINE_PAINT

The default grid line paint.

public static final Stroke DEFAULT_GRIDLINE_STROKE

The default grid line stroke.

protected static ResourceBundle localizationResources

The resourceBundle for the localization.

Public Constructors

public PolarPlot ()

Default constructor.

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

Public Methods

public void addCornerTextItem (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).

public void clearCornerTextItems ()

Clear the list of corner text items and sends a PlotChangeEvent to all registered listeners.

public Object clone ()

Returns a clone of the plot.

Returns
  • A clone.
Throws
CloneNotSupportedException this can occur if some component of the plot cannot be cloned.

public void datasetChanged (DatasetChangeEvent event)

Receives notification of a change to the plot's m_Dataset.

The axis ranges are updated if necessary.

Parameters
event information about the event (not used here).

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

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.

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

public boolean equals (Object obj)

Tests this plot for equality with another object.

Parameters
obj the object (null permitted).
Returns
  • true or false.

public Paint getAngleGridlinePaint ()

Returns the paint for the grid lines (if any) plotted against the angular axis.

Returns
  • The paint (possibly null).

public Stroke getAngleGridlineStroke ()

Returns the stroke for the grid-lines (if any) plotted against the angular axis.

Returns
  • The stroke (possibly null).

public Font getAngleLabelFont ()

Returns the font used to display the angle labels.

Returns
  • A font (never null).

public Paint getAngleLabelPaint ()

Returns the paint used to display the angle labels.

Returns
  • A paint (never null).

public TickUnit getAngleTickUnit ()

Returns the tick unit that controls the spacing of the angular grid lines.

Returns
  • The tick unit (never null).

public ValueAxis getAxis ()

Returns the axis for the plot.

Returns
  • The radius axis (possibly null).

public Range getDataRange (ValueAxis axis)

Returns the range for the specified axis.

Parameters
axis the axis.
Returns
  • The range.

public XYDataset getDataset ()

Returns the primary dataset for the plot.

Returns
  • The primary dataset (possibly null).

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.

Returns
  • The legend items.

public double getMaxRadius ()

Returns the upper bound of the radius axis.

Returns
  • The upper bound.

public PlotOrientation getOrientation ()

Returns the orientation of the plot.

Returns
  • The orientation.

public String getPlotType ()

Returns the plot type as a string.

Returns
  • A short string describing the type of plot.

public Paint getRadiusGridlinePaint ()

Returns the paint for the grid lines (if any) plotted against the radius axis.

Returns
  • The paint (possibly null).

public Stroke getRadiusGridlineStroke ()

Returns the stroke for the grid lines (if any) plotted against the radius axis.

Returns
  • The stroke (possibly null).

public PolarItemRenderer getRenderer ()

Returns the item renderer.

Returns
  • The renderer (possibly null).

public int getSeriesCount ()

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

Returns
  • The series count.

public boolean isAngleGridlinesVisible ()

Returns true if the angular gridlines are visible, and false otherwise.

Returns
  • true or false.

public boolean isAngleLabelsVisible ()

Returns a flag that controls whether or not the angle labels are visible.

Returns
  • A boolean.

public boolean isDomainZoomable ()

Returns false always.

Returns
  • false always.

public boolean isRadiusGridlinesVisible ()

Returns true if the radius axis grid is visible, and false otherwise.

Returns
  • true or false.

public boolean isRangeZoomable ()

Returns true to indicate that the range axis is zoomable.

Returns
  • true.

public void removeCornerTextItem (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).

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.

Parameters
event information about the property change.

public void setAngleGridlinePaint (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).

public void setAngleGridlineStroke (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).

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.

public void setAngleLabelFont (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).

public void setAngleLabelPaint (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).

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.

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

public void setAxis (ValueAxis axis)

Sets the axis for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters
axis the new axis (null permitted).

public void setDataset (XYDataset dataset)

Sets the dataset for the plot, replacing the existing dataset if there is one.

Parameters
dataset the dataset (null permitted).
See Also

public void setRadiusGridlinePaint (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).

public void setRadiusGridlineStroke (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).

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.

public void setRenderer (PolarItemRenderer renderer)

Sets the item renderer, and notifies all listeners of a change to the plot.

If the renderer is set to null, no chart will be drawn.

Parameters
renderer the new renderer (null permitted).
See Also

public Point translateValueThetaRadiusToJava2D (double angleDegrees, double radius, 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.

public void zoom (double percent)

Zooms the axis ranges by the specified percentage about the anchor point.

Parameters
percent the amount of the zoom.

public void zoomDomainAxes (double factor, PlotRenderingInfo state, Point2D source)

This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.

Parameters
factor the zoom factor.
state the plot state.
source the source point (in Java2D coordinates).

public void zoomDomainAxes (double factor, PlotRenderingInfo state, 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.

Parameters
factor the zoom factor.
state the plot state.
source the source point (in Java2D coordinates).
useAnchor use source point as zoom anchor?

public void zoomDomainAxes (double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)

This method is required by the Zoomable interface, but since the plot does not have any domain axes, it does nothing.

Parameters
lowerPercent the new lower bound.
upperPercent the new upper bound.
state the plot state.
source the source point (in Java2D coordinates).

public void zoomRangeAxes (double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor)

Multiplies the range on the range axis by the specified factor.

Parameters
factor the zoom factor.
info the plot rendering info.
source the source point (in Java2D space).
useAnchor use source point as zoom anchor?

public void zoomRangeAxes (double lowerPercent, double upperPercent, PlotRenderingInfo state, Point2D source)

Zooms in on the range axes.

Parameters
lowerPercent the new lower bound.
upperPercent the new upper bound.
state the plot state.
source the source point (in Java2D coordinates).

public void zoomRangeAxes (double factor, PlotRenderingInfo state, Point2D source)

Multiplies the range on the range axis/axes by the specified factor.

Parameters
factor the zoom factor.
state the plot state.
source the source point (in Java2D coordinates).

Protected Methods

protected AxisState drawAxis (Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea)

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.

protected void drawCornerTextItems (Graphics2D g2, Rectangle2D area)

Draws the corner text items.

Parameters
g2 the drawing surface.
area the area.

protected void drawGridlines (Graphics2D g2, Rectangle2D dataArea, List angularTicks, 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.

protected List refreshAngleTicks ()

Generates a list of tick values for the angular tick marks.

Returns

protected void render (Graphics2D g2, 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).