public class

PiePlot

extends Plot
implements Serializable Cloneable
java.lang.Object
   ↳ org.jfree.chart.plot.Plot
     ↳ org.jfree.chart.plot.PiePlot
Known Direct Subclasses

Class Overview

A plot that displays data in the form of a pie chart, using data from any class that implements the PieDataset interface. The example shown here is generated by the PieChartDemo2.java program included in the JFreeChart Demo Collection:

PiePlotSample.png

Special notes:

  1. the default starting point is 12 o'clock and the pie sections proceed in a clockwise direction, but these settings can be changed;
  2. negative values in the dataset are ignored;
  3. there are utility methods for creating a PieDataset from a CategoryDataset;

See Also

Summary

Constants
double DEFAULT_INTERIOR_GAP The default interior gap.
double DEFAULT_MINIMUM_ARC_ANGLE_TO_DRAW The default minimum arc angle to draw.
double DEFAULT_START_ANGLE The default starting angle for the pie chart.
double MAX_INTERIOR_GAP The maximum interior gap (currently 40%).
[Expand]
Inherited Constants
From class org.jfree.chart.plot.Plot
Fields
public static final Paint DEFAULT_LABEL_BACKGROUND_PAINT The default section label background paint.
public static final Font DEFAULT_LABEL_FONT The default section label font.
public static final Paint DEFAULT_LABEL_OUTLINE_PAINT The default section label outline paint.
public static final Stroke DEFAULT_LABEL_OUTLINE_STROKE The default section label outline stroke.
public static final Paint DEFAULT_LABEL_PAINT The default section label paint.
public static final Paint DEFAULT_LABEL_SHADOW_PAINT The default section label shadow paint.
protected static ResourceBundle localizationResources The resourceBundle for the localization.
[Expand]
Inherited Fields
From class org.jfree.chart.plot.Plot
Public Constructors
PiePlot()
Creates a new plot.
PiePlot(PieDataset dataset)
Creates a plot that will draw a pie chart for the specified dataset.
Public Methods
void clearSectionOutlinePaints(boolean notify)
Clears the section outline paint settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners.
void clearSectionOutlineStrokes(boolean notify)
Clears the section outline stroke settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners.
void clearSectionPaints(boolean notify)
Clears the section paint settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners.
Object clone()
Returns a clone of the plot.
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 an arbitrary object.
boolean getAutoPopulateSectionOutlinePaint()
Returns the flag that controls whether or not the section outline paint is auto-populated by the lookupSectionOutlinePaint(Comparable) method.
boolean getAutoPopulateSectionOutlineStroke()
Returns the flag that controls whether or not the section outline stroke is auto-populated by the lookupSectionOutlinePaint(Comparable) method.
boolean getAutoPopulateSectionPaint()
Returns the flag that controls whether or not the section paint is auto-populated by the lookupSectionPaint(Comparable) method.
Paint getBaseSectionOutlinePaint()
Returns the base section paint.
Stroke getBaseSectionOutlineStroke()
Returns the base section stroke.
Paint getBaseSectionPaint()
Returns the base section paint.
PieDataset getDataset()
Returns the dataset.
Rotation getDirection()
Returns the direction in which the pie sections are drawn (clockwise or anti-clockwise).
double getExplodePercent(Comparable key)
Returns the amount that the section with the specified key should be exploded.
double getExplodePercent(int section)
This method is deprecated. Use getExplodePercent(Comparable) instead.
boolean getIgnoreNullValues()
Returns the flag that controls whether null values in the dataset are ignored.
boolean getIgnoreZeroValues()
Returns the flag that controls whether zero values in the dataset are ignored.
double getInteriorGap()
Returns the interior gap, measured as a percentage of the available drawing space.
Paint getLabelBackgroundPaint()
Returns the section label background paint.
AbstractPieLabelDistributor getLabelDistributor()
Returns the object responsible for the vertical layout of the pie section labels.
Font getLabelFont()
Returns the section label font.
double getLabelGap()
Returns the gap between the edge of the pie and the labels, expressed as a percentage of the plot width.
PieSectionLabelGenerator getLabelGenerator()
Returns the section label generator.
double getLabelLinkMargin()
Returns the margin (expressed as a percentage of the width or height) between the edge of the pie and the link point.
Paint getLabelLinkPaint()
Returns the paint used for the lines that connect pie sections to their corresponding labels.
Stroke getLabelLinkStroke()
Returns the stroke used for the label linking lines.
PieLabelLinkStyle getLabelLinkStyle()
Returns the label link style.
boolean getLabelLinksVisible()
Returns the flag that controls whether or not label linking lines are visible.
Paint getLabelOutlinePaint()
Returns the section label outline paint.
Stroke getLabelOutlineStroke()
Returns the section label outline stroke.
RectangleInsets getLabelPadding()
Returns the label padding.
Paint getLabelPaint()
Returns the section label paint.
Paint getLabelShadowPaint()
Returns the section label shadow paint.
Shape getLegendItemShape()
Returns the shape used for legend items.
LegendItemCollection getLegendItems()
Returns a collection of legend items for the pie chart.
PieSectionLabelGenerator getLegendLabelGenerator()
Returns the legend label generator.
PieSectionLabelGenerator getLegendLabelToolTipGenerator()
Returns the legend label tool tip generator.
PieURLGenerator getLegendLabelURLGenerator()
Returns the legend label URL generator.
double getMaximumExplodePercent()
Returns the maximum explode percent.
double getMaximumLabelWidth()
Returns the maximum label width as a percentage of the plot width.
double getMinimumArcAngleToDraw()
Returns the minimum arc angle that will be drawn.
int getPieIndex()
Returns the pie index (this is used by the MultiplePiePlot class to track subplots).
String getPlotType()
Returns a short string describing the type of plot.
Paint getSectionOutlinePaint(Comparable key)
Returns the outline paint associated with the specified key, or null if there is no paint associated with the key.
Paint getSectionOutlinePaint()
This method is deprecated. Use getSectionOutlinePaint(Comparable) and getBaseSectionOutlinePaint(). Deprecated as of version 1.0.6.
Paint getSectionOutlinePaint(int section)
This method is deprecated. Use getSectionOutlinePaint(Comparable) instead.
Stroke getSectionOutlineStroke()
This method is deprecated. Use getSectionOutlineStroke(Comparable) and getBaseSectionOutlineStroke(). Deprecated as of version 1.0.6.
Stroke getSectionOutlineStroke(Comparable key)
Returns the outline stroke associated with the specified key, or null if there is no stroke associated with the key.
Stroke getSectionOutlineStroke(int section)
This method is deprecated. Use getSectionOutlineStroke(Comparable) instead.
boolean getSectionOutlinesVisible()
Returns the flag that controls whether or not the outline is drawn for each pie section.
Paint getSectionPaint()
This method is deprecated. Use getSectionPaint(Comparable) and getBaseSectionPaint(). Deprecated as of version 1.0.6.
Paint getSectionPaint(int section)
This method is deprecated. Use getSectionPaint(Comparable) instead.
Paint getSectionPaint(Comparable key)
Returns the paint associated with the specified key, or null if there is no paint associated with the key.
Paint getShadowPaint()
Returns the shadow paint.
double getShadowXOffset()
Returns the x-offset for the shadow effect.
double getShadowYOffset()
Returns the y-offset for the shadow effect.
RectangleInsets getSimpleLabelOffset()
Returns the offset used for the simple labels, if they are displayed.
boolean getSimpleLabels()
Returns the flag that controls whether simple or extended labels are displayed on the plot.
double getStartAngle()
Returns the start angle for the first pie section.
PieToolTipGenerator getToolTipGenerator()
Returns the tool tip generator, an object that is responsible for generating the text items used for tool tips by the plot.
PieURLGenerator getURLGenerator()
Returns the URL generator.
PiePlotState initialise(Graphics2D g2, Rectangle2D plotArea, PiePlot plot, Integer index, PlotRenderingInfo info)
Initialises the drawing procedure.
boolean isCircular()
Returns a flag indicating whether the pie chart is circular, or stretched into an elliptical shape.
void setAutoPopulateSectionOutlinePaint(boolean auto)
Sets the flag that controls whether or not the section outline paint is auto-populated by the lookupSectionOutlinePaint(Comparable) method, and sends a PlotChangeEvent to all registered listeners.
void setAutoPopulateSectionOutlineStroke(boolean auto)
Sets the flag that controls whether or not the section outline stroke is auto-populated by the lookupSectionOutlineStroke(Comparable) method, and sends a PlotChangeEvent to all registered listeners.
void setAutoPopulateSectionPaint(boolean auto)
Sets the flag that controls whether or not the section paint is auto-populated by the lookupSectionPaint(Comparable) method, and sends a PlotChangeEvent to all registered listeners.
void setBaseSectionOutlinePaint(Paint paint)
Sets the base section paint.
void setBaseSectionOutlineStroke(Stroke stroke)
Sets the base section stroke.
void setBaseSectionPaint(Paint paint)
Sets the base section paint and sends a PlotChangeEvent to all registered listeners.
void setCircular(boolean flag)
A flag indicating whether the pie chart is circular, or stretched into an elliptical shape.
void setCircular(boolean circular, boolean notify)
Sets the circular attribute and, if requested, sends a PlotChangeEvent to all registered listeners.
void setDataset(PieDataset dataset)
Sets the dataset and sends a DatasetChangeEvent to 'this'.
void setDirection(Rotation direction)
Sets the direction in which the pie sections are drawn and sends a PlotChangeEvent to all registered listeners.
void setExplodePercent(Comparable key, double percent)
Sets the amount that a pie section should be exploded and sends a PlotChangeEvent to all registered listeners.
void setExplodePercent(int section, double percent)
This method is deprecated. Use setExplodePercent(Comparable, double) instead.
void setIgnoreNullValues(boolean flag)
Sets a flag that controls whether null values are ignored, and sends a PlotChangeEvent to all registered listeners.
void setIgnoreZeroValues(boolean flag)
Sets a flag that controls whether zero values are ignored, and sends a PlotChangeEvent to all registered listeners.
void setInteriorGap(double percent)
Sets the interior gap and sends a PlotChangeEvent to all registered listeners.
void setLabelBackgroundPaint(Paint paint)
Sets the section label background paint and sends a PlotChangeEvent to all registered listeners.
void setLabelDistributor(AbstractPieLabelDistributor distributor)
Sets the label distributor and sends a PlotChangeEvent to all registered listeners.
void setLabelFont(Font font)
Sets the section label font and sends a PlotChangeEvent to all registered listeners.
void setLabelGap(double gap)
Sets the gap between the edge of the pie and the labels (expressed as a percentage of the plot width) and sends a PlotChangeEvent to all registered listeners.
void setLabelGenerator(PieSectionLabelGenerator generator)
Sets the section label generator and sends a PlotChangeEvent to all registered listeners.
void setLabelLinkMargin(double margin)
Sets the link margin and sends a PlotChangeEvent to all registered listeners.
void setLabelLinkPaint(Paint paint)
Sets the paint used for the lines that connect pie sections to their corresponding labels, and sends a PlotChangeEvent to all registered listeners.
void setLabelLinkStroke(Stroke stroke)
Sets the link stroke and sends a PlotChangeEvent to all registered listeners.
void setLabelLinkStyle(PieLabelLinkStyle style)
Sets the label link style and sends a PlotChangeEvent to all registered listeners.
void setLabelLinksVisible(boolean visible)
Sets the flag that controls whether or not label linking lines are visible and sends a PlotChangeEvent to all registered listeners.
void setLabelOutlinePaint(Paint paint)
Sets the section label outline paint and sends a PlotChangeEvent to all registered listeners.
void setLabelOutlineStroke(Stroke stroke)
Sets the section label outline stroke and sends a PlotChangeEvent to all registered listeners.
void setLabelPadding(RectangleInsets padding)
Sets the padding between each label and its outline and sends a PlotChangeEvent to all registered listeners.
void setLabelPaint(Paint paint)
Sets the section label paint and sends a PlotChangeEvent to all registered listeners.
void setLabelShadowPaint(Paint paint)
Sets the section label shadow paint and sends a PlotChangeEvent to all registered listeners.
void setLegendItemShape(Shape shape)
Sets the shape used for legend items and sends a PlotChangeEvent to all registered listeners.
void setLegendLabelGenerator(PieSectionLabelGenerator generator)
Sets the legend label generator and sends a PlotChangeEvent to all registered listeners.
void setLegendLabelToolTipGenerator(PieSectionLabelGenerator generator)
Sets the legend label tool tip generator and sends a PlotChangeEvent to all registered listeners.
void setLegendLabelURLGenerator(PieURLGenerator generator)
Sets the legend label URL generator and sends a PlotChangeEvent to all registered listeners.
void setMaximumLabelWidth(double width)
Sets the maximum label width as a percentage of the plot width and sends a PlotChangeEvent to all registered listeners.
void setMinimumArcAngleToDraw(double angle)
Sets the minimum arc angle that will be drawn.
void setPieIndex(int index)
Sets the pie index (this is used by the MultiplePiePlot class to track subplots).
void setSectionOutlinePaint(int section, Paint paint)
This method is deprecated. Use setSectionOutlinePaint(Comparable, Paint) instead.
void setSectionOutlinePaint(Comparable key, Paint paint)
Sets the outline paint associated with the specified key, and sends a PlotChangeEvent to all registered listeners.
void setSectionOutlinePaint(Paint paint)
This method is deprecated. Use setSectionOutlinePaint(Comparable, Paint) and setBaseSectionOutlinePaint(Paint). Deprecated as of version 1.0.6.
void setSectionOutlineStroke(Comparable key, Stroke stroke)
Sets the outline stroke associated with the specified key, and sends a PlotChangeEvent to all registered listeners.
void setSectionOutlineStroke(int section, Stroke stroke)
This method is deprecated. Use setSectionOutlineStroke(Comparable, Stroke) instead.
void setSectionOutlineStroke(Stroke stroke)
This method is deprecated. Use setSectionOutlineStroke(Comparable, Stroke) and setBaseSectionOutlineStroke(Stroke). Deprecated as of version 1.0.6.
void setSectionOutlinesVisible(boolean visible)
Sets the flag that controls whether or not the outline is drawn for each pie section, and sends a PlotChangeEvent to all registered listeners.
void setSectionPaint(Comparable key, Paint paint)
Sets the paint associated with the specified key, and sends a PlotChangeEvent to all registered listeners.
void setSectionPaint(Paint paint)
This method is deprecated. Use setSectionPaint(Comparable, Paint) and setBaseSectionPaint(Paint). Deprecated as of version 1.0.6.
void setSectionPaint(int section, Paint paint)
This method is deprecated. Use setSectionPaint(Comparable, Paint) instead.
void setShadowPaint(Paint paint)
Sets the shadow paint and sends a PlotChangeEvent to all registered listeners.
void setShadowXOffset(double offset)
Sets the x-offset for the shadow effect and sends a PlotChangeEvent to all registered listeners.
void setShadowYOffset(double offset)
Sets the y-offset for the shadow effect and sends a PlotChangeEvent to all registered listeners.
void setSimpleLabelOffset(RectangleInsets offset)
Sets the offset for the simple labels and sends a PlotChangeEvent to all registered listeners.
void setSimpleLabels(boolean simple)
Sets the flag that controls whether simple or extended labels are displayed on the plot, and sends a PlotChangeEvent to all registered listeners.
void setStartAngle(double angle)
Sets the starting angle and sends a PlotChangeEvent to all registered listeners.
void setToolTipGenerator(PieToolTipGenerator generator)
Sets the tool tip generator and sends a PlotChangeEvent to all registered listeners.
void setURLGenerator(PieURLGenerator generator)
Sets the URL generator and sends a PlotChangeEvent to all registered listeners.
Protected Methods
void drawItem(Graphics2D g2, int section, Rectangle2D dataArea, PiePlotState state, int currentPass)
Draws a single data item.
void drawLabels(Graphics2D g2, List keys, double totalValue, Rectangle2D plotArea, Rectangle2D linkArea, PiePlotState state)
Draws the labels for the pie sections.
void drawLeftLabel(Graphics2D g2, PiePlotState state, PieLabelRecord record)
Draws a section label on the left side of the pie chart.
void drawLeftLabels(KeyedValues leftKeys, Graphics2D g2, Rectangle2D plotArea, Rectangle2D linkArea, float maxLabelWidth, PiePlotState state)
Draws the left labels.
void drawPie(Graphics2D g2, Rectangle2D plotArea, PlotRenderingInfo info)
Draws the pie.
void drawRightLabel(Graphics2D g2, PiePlotState state, PieLabelRecord record)
Draws a section label on the right side of the pie chart.
void drawRightLabels(KeyedValues keys, Graphics2D g2, Rectangle2D plotArea, Rectangle2D linkArea, float maxLabelWidth, PiePlotState state)
Draws the right labels.
void drawSimpleLabels(Graphics2D g2, List keys, double totalValue, Rectangle2D plotArea, Rectangle2D pieArea, PiePlotState state)
Draws the pie section labels in the simple form.
Rectangle2D getArcBounds(Rectangle2D unexploded, Rectangle2D exploded, double angle, double extent, double explodePercent)
Returns a rectangle that can be used to create a pie section (taking into account the amount by which the pie section is 'exploded').
double getLabelLinkDepth()
Returns the distance that the end of the label link is embedded into the plot, expressed as a percentage of the plot's radius.
Comparable getSectionKey(int section)
Returns a key for the specified section.
Paint lookupSectionOutlinePaint(Comparable key)
Returns the outline paint for the specified section.
Paint lookupSectionOutlinePaint(Comparable key, boolean autoPopulate)
Returns the outline paint for the specified section.
Stroke lookupSectionOutlineStroke(Comparable key)
Returns the outline stroke for the specified section.
Stroke lookupSectionOutlineStroke(Comparable key, boolean autoPopulate)
Returns the outline stroke for the specified section.
Paint lookupSectionPaint(Comparable key, boolean autoPopulate)
Returns the paint for the specified section.
Paint lookupSectionPaint(Comparable key)
Returns the paint for the specified section.
[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.data.general.DatasetChangeListener

Constants

public static final double DEFAULT_INTERIOR_GAP

The default interior gap.

Constant Value: 0.08

public static final double DEFAULT_MINIMUM_ARC_ANGLE_TO_DRAW

The default minimum arc angle to draw.

Constant Value: 1.0E-5

public static final double DEFAULT_START_ANGLE

The default starting angle for the pie chart.

Constant Value: 90.0

public static final double MAX_INTERIOR_GAP

The maximum interior gap (currently 40%).

Constant Value: 0.4

Fields

public static final Paint DEFAULT_LABEL_BACKGROUND_PAINT

The default section label background paint.

public static final Font DEFAULT_LABEL_FONT

The default section label font.

public static final Paint DEFAULT_LABEL_OUTLINE_PAINT

The default section label outline paint.

public static final Stroke DEFAULT_LABEL_OUTLINE_STROKE

The default section label outline stroke.

public static final Paint DEFAULT_LABEL_PAINT

The default section label paint.

public static final Paint DEFAULT_LABEL_SHADOW_PAINT

The default section label shadow paint.

protected static ResourceBundle localizationResources

The resourceBundle for the localization.

Public Constructors

public PiePlot ()

Creates a new plot. The dataset is initially set to null.

public PiePlot (PieDataset dataset)

Creates a plot that will draw a pie chart for the specified dataset.

Parameters
dataset the dataset (null permitted).

Public Methods

public void clearSectionOutlinePaints (boolean notify)

Clears the section outline paint settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners. Be aware that if the autoPopulateSectionPaint flag is set, the section paints may be repopulated using the same colours as before.

Parameters
notify notify listeners?
See Also
  • #autoPopulateSectionOutlinePaint

public void clearSectionOutlineStrokes (boolean notify)

Clears the section outline stroke settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners. Be aware that if the autoPopulateSectionPaint flag is set, the section paints may be repopulated using the same colours as before.

Parameters
notify notify listeners?
See Also
  • #autoPopulateSectionOutlineStroke

public void clearSectionPaints (boolean notify)

Clears the section paint settings for this plot and, if requested, sends a PlotChangeEvent to all registered listeners. Be aware that if the autoPopulateSectionPaint flag is set, the section paints may be repopulated using the same colours as before.

Parameters
notify notify listeners?
See Also
  • #autoPopulateSectionPaint

public Object clone ()

Returns a clone of the plot.

Returns
  • A clone.
Throws
CloneNotSupportedException if some component of the plot does not support cloning.

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

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 (null permitted).

public boolean equals (Object obj)

Tests this plot for equality with an arbitrary object. Note that the plot's dataset is NOT included in the test for equality.

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

public boolean getAutoPopulateSectionOutlinePaint ()

Returns the flag that controls whether or not the section outline paint is auto-populated by the lookupSectionOutlinePaint(Comparable) method.

Returns
  • A boolean.

public boolean getAutoPopulateSectionOutlineStroke ()

Returns the flag that controls whether or not the section outline stroke is auto-populated by the lookupSectionOutlinePaint(Comparable) method.

Returns
  • A boolean.

public boolean getAutoPopulateSectionPaint ()

Returns the flag that controls whether or not the section paint is auto-populated by the lookupSectionPaint(Comparable) method.

Returns
  • A boolean.

public Paint getBaseSectionOutlinePaint ()

Returns the base section paint. This is used when no other paint is available.

Returns
  • The paint (never null).

public Stroke getBaseSectionOutlineStroke ()

Returns the base section stroke. This is used when no other stroke is available.

Returns
  • The stroke (never null).

public Paint getBaseSectionPaint ()

Returns the base section paint. This is used when no other paint is defined, which is rare. The default value is Color.gray.

Returns
  • The paint (never null).

public PieDataset getDataset ()

Returns the dataset.

Returns
  • The dataset (possibly null).

public Rotation getDirection ()

Returns the direction in which the pie sections are drawn (clockwise or anti-clockwise).

Returns
  • The direction (never null).

public double getExplodePercent (Comparable key)

Returns the amount that the section with the specified key should be exploded.

Parameters
key the key (null not permitted).
Returns
  • The amount that the section with the specified key should be exploded.
Throws
IllegalArgumentException if key is null.

public double getExplodePercent (int section)

This method is deprecated.
Use getExplodePercent(Comparable) instead.

Returns the amount that a section should be 'exploded'.

Parameters
section the section number.
Returns
  • The amount that a section should be 'exploded'.

public boolean getIgnoreNullValues ()

Returns the flag that controls whether null values in the dataset are ignored.

Returns
  • A boolean.

public boolean getIgnoreZeroValues ()

Returns the flag that controls whether zero values in the dataset are ignored.

Returns
  • A boolean.

public double getInteriorGap ()

Returns the interior gap, measured as a percentage of the available drawing space.

Returns
  • The gap (as a percentage of the available drawing space).

public Paint getLabelBackgroundPaint ()

Returns the section label background paint.

Returns
  • The paint (possibly null).

public AbstractPieLabelDistributor getLabelDistributor ()

Returns the object responsible for the vertical layout of the pie section labels.

Returns
  • The label distributor (never null).

public Font getLabelFont ()

Returns the section label font.

Returns
  • The font (never null).

public double getLabelGap ()

Returns the gap between the edge of the pie and the labels, expressed as a percentage of the plot width.

Returns
  • The gap (a percentage, where 0.05 = five percent).

public PieSectionLabelGenerator getLabelGenerator ()

Returns the section label generator.

Returns
  • The generator (possibly null).

public double getLabelLinkMargin ()

Returns the margin (expressed as a percentage of the width or height) between the edge of the pie and the link point.

Returns
  • The link margin (as a percentage, where 0.05 is five percent).

public Paint getLabelLinkPaint ()

Returns the paint used for the lines that connect pie sections to their corresponding labels.

Returns
  • The paint (never null).

public Stroke getLabelLinkStroke ()

Returns the stroke used for the label linking lines.

Returns
  • The stroke.

public PieLabelLinkStyle getLabelLinkStyle ()

Returns the label link style.

Returns
  • The label link style (never null).

public boolean getLabelLinksVisible ()

Returns the flag that controls whether or not label linking lines are visible.

Returns
  • A boolean.

public Paint getLabelOutlinePaint ()

Returns the section label outline paint.

Returns
  • The paint (possibly null).

public Stroke getLabelOutlineStroke ()

Returns the section label outline stroke.

Returns
  • The stroke (possibly null).

public RectangleInsets getLabelPadding ()

Returns the label padding.

Returns
  • The label padding (never null).

public Paint getLabelPaint ()

Returns the section label paint.

Returns
  • The paint (never null).

public Paint getLabelShadowPaint ()

Returns the section label shadow paint.

Returns
  • The paint (possibly null).

public Shape getLegendItemShape ()

Returns the shape used for legend items.

Returns
  • The shape (never null).

public LegendItemCollection getLegendItems ()

Returns a collection of legend items for the pie chart.

Returns
  • The legend items (never null).

public PieSectionLabelGenerator getLegendLabelGenerator ()

Returns the legend label generator.

Returns
  • The legend label generator (never null).

public PieSectionLabelGenerator getLegendLabelToolTipGenerator ()

Returns the legend label tool tip generator.

Returns
  • The legend label tool tip generator (possibly null).

public PieURLGenerator getLegendLabelURLGenerator ()

Returns the legend label URL generator.

Returns
  • The legend label URL generator (possibly null).

public double getMaximumExplodePercent ()

Returns the maximum explode percent.

Returns
  • The percent.

public double getMaximumLabelWidth ()

Returns the maximum label width as a percentage of the plot width.

Returns
  • The width (a percentage, where 0.20 = 20 percent).

public double getMinimumArcAngleToDraw ()

Returns the minimum arc angle that will be drawn. Pie sections for an angle smaller than this are not drawn, to avoid a JDK bug.

Returns
  • The minimum angle.

public int getPieIndex ()

Returns the pie index (this is used by the MultiplePiePlot class to track subplots).

Returns
  • The pie index.
See Also

public String getPlotType ()

Returns a short string describing the type of plot.

Returns
  • The plot type.

public Paint getSectionOutlinePaint (Comparable key)

Returns the outline paint associated with the specified key, or null if there is no paint associated with the key.

Parameters
key the key (null not permitted).
Returns
  • The paint associated with the specified key, or null.
Throws
IllegalArgumentException if key is null.

public Paint getSectionOutlinePaint ()

This method is deprecated.
Use getSectionOutlinePaint(Comparable) and getBaseSectionOutlinePaint(). Deprecated as of version 1.0.6.

Returns the outline paint for ALL sections in the plot.

Returns
  • The paint (possibly null).

public Paint getSectionOutlinePaint (int section)

This method is deprecated.
Use getSectionOutlinePaint(Comparable) instead.

Returns the paint for the specified section.

Parameters
section the section index (zero-based).
Returns
  • The paint (possibly null).

public Stroke getSectionOutlineStroke ()

This method is deprecated.
Use getSectionOutlineStroke(Comparable) and getBaseSectionOutlineStroke(). Deprecated as of version 1.0.6.

Returns the outline stroke for ALL sections in the plot.

Returns
  • The stroke (possibly null).

public Stroke getSectionOutlineStroke (Comparable key)

Returns the outline stroke associated with the specified key, or null if there is no stroke associated with the key.

Parameters
key the key (null not permitted).
Returns
  • The stroke associated with the specified key, or null.
Throws
IllegalArgumentException if key is null.

public Stroke getSectionOutlineStroke (int section)

This method is deprecated.
Use getSectionOutlineStroke(Comparable) instead.

Returns the stroke for the specified section.

Parameters
section the section index (zero-based).
Returns
  • The stroke (possibly null).

public boolean getSectionOutlinesVisible ()

Returns the flag that controls whether or not the outline is drawn for each pie section.

Returns
  • The flag that controls whether or not the outline is drawn for each pie section.

public Paint getSectionPaint ()

This method is deprecated.
Use getSectionPaint(Comparable) and getBaseSectionPaint(). Deprecated as of version 1.0.6.

Returns the paint for ALL sections in the plot.

Returns
  • The paint (possibly null).

public Paint getSectionPaint (int section)

This method is deprecated.
Use getSectionPaint(Comparable) instead.

Returns the paint for the specified section.

Parameters
section the section index (zero-based).
Returns
  • The paint (never null).

public Paint getSectionPaint (Comparable key)

Returns the paint associated with the specified key, or null if there is no paint associated with the key.

Parameters
key the key (null not permitted).
Returns
  • The paint associated with the specified key, or null.
Throws
IllegalArgumentException if key is null.

public Paint getShadowPaint ()

Returns the shadow paint.

Returns
  • The paint (possibly null).

public double getShadowXOffset ()

Returns the x-offset for the shadow effect.

Returns
  • The offset (in Java2D units).

public double getShadowYOffset ()

Returns the y-offset for the shadow effect.

Returns
  • The offset (in Java2D units).

public RectangleInsets getSimpleLabelOffset ()

Returns the offset used for the simple labels, if they are displayed.

Returns
  • The offset (never null).

public boolean getSimpleLabels ()

Returns the flag that controls whether simple or extended labels are displayed on the plot.

Returns
  • A boolean.

public double getStartAngle ()

Returns the start angle for the first pie section. This is measured in degrees starting from 3 o'clock and measuring anti-clockwise.

Returns
  • The start angle.

public PieToolTipGenerator getToolTipGenerator ()

Returns the tool tip generator, an object that is responsible for generating the text items used for tool tips by the plot. If the generator is null, no tool tips will be created.

Returns
  • The generator (possibly null).

public PieURLGenerator getURLGenerator ()

Returns the URL generator.

Returns
  • The generator (possibly null).

public PiePlotState initialise (Graphics2D g2, Rectangle2D plotArea, PiePlot plot, Integer index, PlotRenderingInfo info)

Initialises the drawing procedure. This method will be called before the first item is rendered, giving the plot an opportunity to initialise any state information it wants to maintain.

Parameters
g2 the graphics device.
plotArea the plot area (null not permitted).
plot the plot.
index the secondary index (null for primary renderer).
info collects chart rendering information for return to caller.
Returns
  • A state object (maintains state information relevant to one chart drawing).

public boolean isCircular ()

Returns a flag indicating whether the pie chart is circular, or stretched into an elliptical shape.

Returns
  • A flag indicating whether the pie chart is circular.

public void setAutoPopulateSectionOutlinePaint (boolean auto)

Sets the flag that controls whether or not the section outline paint is auto-populated by the lookupSectionOutlinePaint(Comparable) method, and sends a PlotChangeEvent to all registered listeners.

Parameters
auto auto-populate?

public void setAutoPopulateSectionOutlineStroke (boolean auto)

Sets the flag that controls whether or not the section outline stroke is auto-populated by the lookupSectionOutlineStroke(Comparable) method, and sends a PlotChangeEvent to all registered listeners.

Parameters
auto auto-populate?

public void setAutoPopulateSectionPaint (boolean auto)

Sets the flag that controls whether or not the section paint is auto-populated by the lookupSectionPaint(Comparable) method, and sends a PlotChangeEvent to all registered listeners.

Parameters
auto auto-populate?

public void setBaseSectionOutlinePaint (Paint paint)

Sets the base section paint.

Parameters
paint the paint (null not permitted).

public void setBaseSectionOutlineStroke (Stroke stroke)

Sets the base section stroke.

Parameters
stroke the stroke (null not permitted).

public void setBaseSectionPaint (Paint paint)

Sets the base section paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setCircular (boolean flag)

A flag indicating whether the pie chart is circular, or stretched into an elliptical shape.

Parameters
flag the new value.
See Also

public void setCircular (boolean circular, boolean notify)

Sets the circular attribute and, if requested, sends a PlotChangeEvent to all registered listeners.

Parameters
circular the new value of the flag.
notify notify listeners?
See Also

public void setDataset (PieDataset dataset)

Sets the dataset and sends a DatasetChangeEvent to 'this'.

Parameters
dataset the dataset (null permitted).
See Also

public void setDirection (Rotation direction)

Sets the direction in which the pie sections are drawn and sends a PlotChangeEvent to all registered listeners.

Parameters
direction the direction (null not permitted).
See Also

public void setExplodePercent (Comparable key, double percent)

Sets the amount that a pie section should be exploded and sends a PlotChangeEvent to all registered listeners.

Parameters
key the section key (null not permitted).
percent the explode percentage (0.30 = 30 percent).

public void setExplodePercent (int section, double percent)

This method is deprecated.
Use setExplodePercent(Comparable, double) instead.

Sets the amount that a pie section should be exploded and sends a PlotChangeEvent to all registered listeners.

Parameters
section the section index.
percent the explode percentage (0.30 = 30 percent).

public void setIgnoreNullValues (boolean flag)

Sets a flag that controls whether null values are ignored, and sends a PlotChangeEvent to all registered listeners. At present, this only affects whether or not the key is presented in the legend.

Parameters
flag the flag.

public void setIgnoreZeroValues (boolean flag)

Sets a flag that controls whether zero values are ignored, and sends a PlotChangeEvent to all registered listeners. This only affects whether or not a label appears for the non-visible pie section.

Parameters
flag the flag.

public void setInteriorGap (double percent)

Sets the interior gap and sends a PlotChangeEvent to all registered listeners. This controls the space between the edges of the pie plot and the plot area itself (the region where the section labels appear).

Parameters
percent the gap (as a percentage of the available drawing space).
See Also

public void setLabelBackgroundPaint (Paint paint)

Sets the section label background paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).

public void setLabelDistributor (AbstractPieLabelDistributor distributor)

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

Parameters
distributor the distributor (null not permitted).

public void setLabelFont (Font font)

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

Parameters
font the font (null not permitted).
See Also

public void setLabelGap (double gap)

Sets the gap between the edge of the pie and the labels (expressed as a percentage of the plot width) and sends a PlotChangeEvent to all registered listeners.

Parameters
gap the gap (a percentage, where 0.05 = five percent).
See Also

public void setLabelGenerator (PieSectionLabelGenerator generator)

Sets the section label generator and sends a PlotChangeEvent to all registered listeners.

Parameters
generator the generator (null permitted).

public void setLabelLinkMargin (double margin)

Sets the link margin and sends a PlotChangeEvent to all registered listeners.

Parameters
margin the margin.

public void setLabelLinkPaint (Paint paint)

Sets the paint used for the lines that connect pie sections to their corresponding labels, and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setLabelLinkStroke (Stroke stroke)

Sets the link stroke and sends a PlotChangeEvent to all registered listeners.

Parameters
stroke the stroke.

public void setLabelLinkStyle (PieLabelLinkStyle style)

Sets the label link style and sends a PlotChangeEvent to all registered listeners.

Parameters
style the new style (null not permitted).

public void setLabelLinksVisible (boolean visible)

Sets the flag that controls whether or not label linking lines are visible and sends a PlotChangeEvent to all registered listeners. Please take care when hiding the linking lines - depending on the data values, the labels can be displayed some distance away from the corresponding pie section.

Parameters
visible the flag.

public void setLabelOutlinePaint (Paint paint)

Sets the section label outline paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).

public void setLabelOutlineStroke (Stroke stroke)

Sets the section label outline stroke and sends a PlotChangeEvent to all registered listeners.

Parameters
stroke the stroke (null permitted).

public void setLabelPadding (RectangleInsets padding)

Sets the padding between each label and its outline and sends a PlotChangeEvent to all registered listeners.

Parameters
padding the padding (null not permitted).

public void setLabelPaint (Paint paint)

Sets the section label paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).
See Also

public void setLabelShadowPaint (Paint paint)

Sets the section label shadow paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).

public void setLegendItemShape (Shape shape)

Sets the shape used for legend items and sends a PlotChangeEvent to all registered listeners.

Parameters
shape the shape (null not permitted).

public void setLegendLabelGenerator (PieSectionLabelGenerator generator)

Sets the legend label generator and sends a PlotChangeEvent to all registered listeners.

Parameters
generator the generator (null not permitted).

public void setLegendLabelToolTipGenerator (PieSectionLabelGenerator generator)

Sets the legend label tool tip generator and sends a PlotChangeEvent to all registered listeners.

Parameters
generator the generator (null permitted).

public void setLegendLabelURLGenerator (PieURLGenerator generator)

Sets the legend label URL generator and sends a PlotChangeEvent to all registered listeners.

Parameters
generator the generator (null permitted).

public void setMaximumLabelWidth (double width)

Sets the maximum label width as a percentage of the plot width and sends a PlotChangeEvent to all registered listeners.

Parameters
width the width (a percentage, where 0.20 = 20 percent).

public void setMinimumArcAngleToDraw (double angle)

Sets the minimum arc angle that will be drawn. Pie sections for an angle smaller than this are not drawn, to avoid a JDK bug. See this link for details:

http://www.jfree.org/phpBB2/viewtopic.php?t=2707

...and this bug report in the Java Bug Parade:

http://developer.java.sun.com/developer/bugParade/bugs/4836495.html

Parameters
angle the minimum angle.

public void setPieIndex (int index)

Sets the pie index (this is used by the MultiplePiePlot class to track subplots).

Parameters
index the index.
See Also

public void setSectionOutlinePaint (int section, Paint paint)

This method is deprecated.
Use setSectionOutlinePaint(Comparable, Paint) instead.

Sets the paint used to fill a section of the pie and sends a PlotChangeEvent to all registered listeners.

Parameters
section the section index (zero-based).
paint the paint (null permitted).

public void setSectionOutlinePaint (Comparable key, Paint paint)

Sets the outline paint associated with the specified key, and sends a PlotChangeEvent to all registered listeners.

Parameters
key the key (null not permitted).
paint the paint.
Throws
IllegalArgumentException if key is null.

public void setSectionOutlinePaint (Paint paint)

This method is deprecated.
Use setSectionOutlinePaint(Comparable, Paint) and setBaseSectionOutlinePaint(Paint). Deprecated as of version 1.0.6.

Sets the outline paint for ALL sections in the plot. If this is set to null, then a list of paints is used instead (to allow different colors to be used for each section).

Parameters
paint the paint (null permitted).

public void setSectionOutlineStroke (Comparable key, Stroke stroke)

Sets the outline stroke associated with the specified key, and sends a PlotChangeEvent to all registered listeners.

Parameters
key the key (null not permitted).
stroke the stroke.
Throws
IllegalArgumentException if key is null.

public void setSectionOutlineStroke (int section, Stroke stroke)

This method is deprecated.
Use setSectionOutlineStroke(Comparable, Stroke) instead.

Sets the stroke used to fill a section of the pie and sends a PlotChangeEvent to all registered listeners.

Parameters
section the section index (zero-based).
stroke the stroke (null permitted).

public void setSectionOutlineStroke (Stroke stroke)

This method is deprecated.
Use setSectionOutlineStroke(Comparable, Stroke) and setBaseSectionOutlineStroke(Stroke). Deprecated as of version 1.0.6.

Sets the outline stroke for ALL sections in the plot. If this is set to null, then a list of paints is used instead (to allow different colors to be used for each section).

Parameters
stroke the stroke (null permitted).

public void setSectionOutlinesVisible (boolean visible)

Sets the flag that controls whether or not the outline is drawn for each pie section, and sends a PlotChangeEvent to all registered listeners.

Parameters
visible the flag.

public void setSectionPaint (Comparable key, Paint paint)

Sets the paint associated with the specified key, and sends a PlotChangeEvent to all registered listeners.

Parameters
key the key (null not permitted).
paint the paint.
Throws
IllegalArgumentException if key is null.

public void setSectionPaint (Paint paint)

This method is deprecated.
Use setSectionPaint(Comparable, Paint) and setBaseSectionPaint(Paint). Deprecated as of version 1.0.6.

Sets the paint for ALL sections in the plot. If this is set to null, then a list of paints is used instead (to allow different colors to be used for each section).

Parameters
paint the paint (null permitted).

public void setSectionPaint (int section, Paint paint)

This method is deprecated.
Use setSectionPaint(Comparable, Paint) instead.

Sets the paint used to fill a section of the pie and sends a PlotChangeEvent to all registered listeners.

Parameters
section the section index (zero-based).
paint the paint (null permitted).

public void setShadowPaint (Paint paint)

Sets the shadow paint and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).
See Also

public void setShadowXOffset (double offset)

Sets the x-offset for the shadow effect and sends a PlotChangeEvent to all registered listeners.

Parameters
offset the offset (in Java2D units).

public void setShadowYOffset (double offset)

Sets the y-offset for the shadow effect and sends a PlotChangeEvent to all registered listeners.

Parameters
offset the offset (in Java2D units).

public void setSimpleLabelOffset (RectangleInsets offset)

Sets the offset for the simple labels and sends a PlotChangeEvent to all registered listeners.

Parameters
offset the offset (null not permitted).

public void setSimpleLabels (boolean simple)

Sets the flag that controls whether simple or extended labels are displayed on the plot, and sends a PlotChangeEvent to all registered listeners.

Parameters
simple the new flag value.

public void setStartAngle (double angle)

Sets the starting angle and sends a PlotChangeEvent to all registered listeners. The initial default value is 90 degrees, which corresponds to 12 o'clock. A value of zero corresponds to 3 o'clock... this is the encoding used by Java's Arc2D class.

Parameters
angle the angle (in degrees).
See Also

public void setToolTipGenerator (PieToolTipGenerator generator)

Sets the tool tip generator and sends a PlotChangeEvent to all registered listeners. Set the generator to null if you don't want any tool tips.

Parameters
generator the generator (null permitted).

public void setURLGenerator (PieURLGenerator generator)

Sets the URL generator and sends a PlotChangeEvent to all registered listeners.

Parameters
generator the generator (null permitted).

Protected Methods

protected void drawItem (Graphics2D g2, int section, Rectangle2D dataArea, PiePlotState state, int currentPass)

Draws a single data item.

Parameters
g2 the graphics device (null not permitted).
section the section index.
dataArea the data plot area.
state state information for one chart.
currentPass the current pass index.

protected void drawLabels (Graphics2D g2, List keys, double totalValue, Rectangle2D plotArea, Rectangle2D linkArea, PiePlotState state)

Draws the labels for the pie sections.

Parameters
g2 the graphics device.
keys the keys.
totalValue the total value.
plotArea the plot area.
linkArea the link area.
state the state.

protected void drawLeftLabel (Graphics2D g2, PiePlotState state, PieLabelRecord record)

Draws a section label on the left side of the pie chart.

Parameters
g2 the graphics device.
state the state.
record the label record.

protected void drawLeftLabels (KeyedValues leftKeys, Graphics2D g2, Rectangle2D plotArea, Rectangle2D linkArea, float maxLabelWidth, PiePlotState state)

Draws the left labels.

Parameters
leftKeys a collection of keys and angles (to the middle of the section, in degrees) for the sections on the left side of the plot.
g2 the graphics device.
plotArea the plot area.
linkArea the link area.
maxLabelWidth the maximum label width.
state the state.

protected void drawPie (Graphics2D g2, Rectangle2D plotArea, PlotRenderingInfo info)

Draws the pie.

Parameters
g2 the graphics device.
plotArea the plot area.
info chart rendering info.

protected void drawRightLabel (Graphics2D g2, PiePlotState state, PieLabelRecord record)

Draws a section label on the right side of the pie chart.

Parameters
g2 the graphics device.
state the state.
record the label record.

protected void drawRightLabels (KeyedValues keys, Graphics2D g2, Rectangle2D plotArea, Rectangle2D linkArea, float maxLabelWidth, PiePlotState state)

Draws the right labels.

Parameters
keys the keys.
g2 the graphics device.
plotArea the plot area.
linkArea the link area.
maxLabelWidth the maximum label width.
state the state.

protected void drawSimpleLabels (Graphics2D g2, List keys, double totalValue, Rectangle2D plotArea, Rectangle2D pieArea, PiePlotState state)

Draws the pie section labels in the simple form.

Parameters
g2 the graphics device.
keys the section keys.
totalValue the total value for all sections in the pie.
plotArea the plot area.
pieArea the area containing the pie.
state the plot state.

protected Rectangle2D getArcBounds (Rectangle2D unexploded, Rectangle2D exploded, double angle, double extent, double explodePercent)

Returns a rectangle that can be used to create a pie section (taking into account the amount by which the pie section is 'exploded').

Parameters
unexploded the area inside which the unexploded pie sections are drawn.
exploded the area inside which the exploded pie sections are drawn.
angle the start angle.
extent the extent of the arc.
explodePercent the amount by which the pie section is exploded.
Returns
  • A rectangle that can be used to create a pie section.

protected double getLabelLinkDepth ()

Returns the distance that the end of the label link is embedded into the plot, expressed as a percentage of the plot's radius.

This method is overridden in the RingPlot class to resolve bug 2121818.

Returns
  • 0.10.

protected Comparable getSectionKey (int section)

Returns a key for the specified section. If there is no such section in the dataset, we generate a key. This is to provide some backward compatibility for the (now deprecated) methods that get/set attributes based on section indices. The preferred way of doing this now is to link the attributes directly to the section key (there are new methods for this, starting from version 1.0.3).

Parameters
section the section index.
Returns
  • The key.

protected Paint lookupSectionOutlinePaint (Comparable key)

Returns the outline paint for the specified section. This is equivalent to lookupSectionPaint(section, getAutoPopulateSectionOutlinePaint()).

Parameters
key the section key.
Returns
  • The paint for the specified section.

protected Paint lookupSectionOutlinePaint (Comparable key, boolean autoPopulate)

Returns the outline paint for the specified section. The lookup involves these steps:

Parameters
key the section key.
autoPopulate a flag that controls whether the drawing supplier is used to auto-populate the section outline paint settings.
Returns
  • The paint.

protected Stroke lookupSectionOutlineStroke (Comparable key)

Returns the outline stroke for the specified section. This is equivalent to lookupSectionOutlineStroke(section, getAutoPopulateSectionOutlineStroke()).

Parameters
key the section key.
Returns
  • The stroke for the specified section.

protected Stroke lookupSectionOutlineStroke (Comparable key, boolean autoPopulate)

Returns the outline stroke for the specified section. The lookup involves these steps:

Parameters
key the section key.
autoPopulate a flag that controls whether the drawing supplier is used to auto-populate the section outline stroke settings.
Returns
  • The stroke.

protected Paint lookupSectionPaint (Comparable key, boolean autoPopulate)

Returns the paint for the specified section. The lookup involves these steps:

Parameters
key the section key.
autoPopulate a flag that controls whether the drawing supplier is used to auto-populate the section paint settings.
Returns
  • The paint.

protected Paint lookupSectionPaint (Comparable key)

Returns the paint for the specified section. This is equivalent to lookupSectionPaint(section, getAutoPopulateSectionPaint()).

Parameters
key the section key.
Returns
  • The paint for the specified section.