|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.jrefinery.chart.Plot | +--com.jrefinery.chart.PiePlot
A plot that displays data in the form of a pie chart, using data from any class that implements the PieDataset interface.
Special notes:
Plot
,
PieDataset
Field Summary | |
static int |
ANTICLOCKWISE
A constant representing the anti-clockwise direction. |
static int |
CLOCKWISE
A constant indicating the clockwise direction. |
static double |
DEFAULT_INTERIOR_GAP
The default interior gap percent (currently 20%). |
static double |
DEFAULT_RADIUS
The default radius percent (currently 100%). |
static java.awt.Font |
DEFAULT_SECTION_LABEL_FONT
The default section label font. |
static double |
DEFAULT_SECTION_LABEL_GAP
The default section label gap (currently 10%). |
static java.awt.Paint |
DEFAULT_SECTION_LABEL_PAINT
The default section label paint. |
static java.awt.Font |
DEFAULT_SERIES_LABEL_FONT
The default series label font. |
static java.awt.Paint |
DEFAULT_SERIES_LABEL_PAINT
The default series label paint. |
static boolean |
DEFAULT_SHOW_SERIES_LABELS
The default for the show series labels flag |
static double |
MAX_INTERIOR_GAP
The maximum interior gap (currently 40%). |
static double |
MAX_RADIUS
The maximum radius (currently 100%). |
static double |
MAX_SECTION_LABEL_GAP
The maximum interior gap (currently 30%). |
static int |
NAME_AND_PERCENT_LABELS
Constant indicating percent labels on the pie sections. |
static int |
NAME_AND_VALUE_LABELS
Constant indicating percent labels on the pie sections. |
static int |
NAME_LABELS
Constant indicating name labels on the pie sections. |
static int |
NO_LABELS
Constant indicating no labels on the pie sections. |
static int |
PERCENT_LABELS
Constant indicating percent labels on the pie sections. |
static int |
VALUE_AND_PERCENT_LABELS
Constant indicating percent labels on the pie sections. |
static int |
VALUE_LABELS
Constant indicating value labels on the pie sections. |
Fields inherited from interface com.jrefinery.chart.AxisConstants |
DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_PAINT, DEFAULT_TICK_STROKE |
Constructor Summary | |
PiePlot(CategoryDataset data)
Constructs a new pie plot, using default attributes as required. |
|
PiePlot(PieDataset data)
Constructs a new pie plot, using default attributes as required. |
|
PiePlot(PieDataset data,
java.awt.Insets insets,
java.awt.Paint backgroundPaint,
java.awt.Image backgroundImage,
float backgroundAlpha,
java.awt.Stroke outlineStroke,
java.awt.Paint outlinePaint,
float foregroundAlpha,
double interiorGapPercent,
boolean circular,
double radiusPercent,
int sectionLabelType,
java.awt.Font sectionLabelFont,
java.awt.Paint sectionLabelPaint,
double sectionLabelGapPercent,
java.lang.String valueFormatString,
java.lang.String percentFormatString,
PieToolTipGenerator toolTipGenerator,
PieURLGenerator urlGenerator)
Constructs a pie plot. |
Method Summary | |
protected java.awt.geom.Point2D |
calculateLabelLocation(java.awt.geom.Rectangle2D labelBounds,
double ascent,
java.awt.geom.Rectangle2D unexploded,
java.awt.geom.Rectangle2D exploded,
double startAngle,
double extent,
double explodePercent)
Returns the location for a label, taking into account whether or not the pie section is exploded. |
void |
draw(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D plotArea,
ChartRenderingInfo info)
Draws the plot on a Java 2D graphics device (such as the screen or a printer). |
protected void |
drawLabel(java.awt.Graphics2D g2,
java.awt.geom.Rectangle2D pieArea,
java.awt.geom.Rectangle2D explodedPieArea,
PieDataset data,
double value,
int section,
double startAngle,
double extent)
Draws the label for one pie section. |
protected java.awt.geom.Rectangle2D |
getArcBounds(java.awt.geom.Rectangle2D unexploded,
java.awt.geom.Rectangle2D exploded,
double startAngle,
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'). |
java.util.Collection |
getCategories()
Returns a collection of the categories in the dataset. |
int |
getDirection()
Returns the direction in which the pie sections are drawn (clockwise or anti-clockwise). |
double |
getExplodePercent(int section)
Returns the amount that a section should be 'exploded'. |
double |
getInteriorGapPercent()
Returns the interior gap, measures as a percentage of the available drawing space. |
java.util.List |
getLegendItemLabels()
Deprecated. use getLegendItems(). |
LegendItemCollection |
getLegendItems()
Returns a collection of legend items for the pie chart. |
PieDataset |
getPieDataset()
Returns the dataset for the plot, cast as a PieDataset. |
java.lang.String |
getPlotType()
Returns a short string describing the type of plot. |
double |
getRadiusPercent()
Returns the radius percentage. |
java.awt.Font |
getSectionLabelFont()
Returns the section label font. |
double |
getSectionLabelGapPercent()
Returns the section label gap, measured as a percentage of the radius. |
java.awt.Paint |
getSectionLabelPaint()
Returns the section label paint. |
int |
getSectionLabelType()
Returns the section label type. |
java.awt.Font |
getSeriesLabelFont()
Returns the series label font. |
java.awt.Paint |
getSeriesLabelPaint()
Returns the series label paint. |
boolean |
getShowSeriesLabels()
Returns the show series labels flag. |
double |
getStartAngle()
Returns the start angle for the first pie section. |
PieToolTipGenerator |
getToolTipGenerator()
Returns the tooltip generator (possibly null). |
PieURLGenerator |
getURLGenerator()
Returns the URL generator (possibly null). |
boolean |
isCircular()
Returns a flag indicating whether the pie chart is circular, or stretched into an elliptical shape. |
void |
setCircular(boolean flag)
A flag indicating whether the pie chart is circular, or stretched into an elliptical shape. |
protected void |
setCircularAttribute(boolean circular)
Sets the circular attribute, with no side effects. |
void |
setDirection(int direction)
Sets the direction (use the constants CLOCKWISE or ANTICLOCKWISE). |
void |
setExplodePercent(int section,
double percent)
Sets the amount that a pie section should be exploded. |
void |
setInteriorGapPercent(double percent)
Sets the interior gap percent. |
void |
setPercentFormat(java.text.NumberFormat format)
Sets the format for the value labels. |
void |
setPercentFormatString(java.lang.String format)
Sets the format string for the percent labels. |
void |
setRadiusPercent(double percent)
Sets the radius percentage. |
void |
setSectionLabelFont(java.awt.Font font)
Sets the section label font. |
void |
setSectionLabelGapPercent(double percent)
Sets the section label gap percent. |
void |
setSectionLabelPaint(java.awt.Paint paint)
Sets the section label paint. |
void |
setSectionLabelType(int type)
Sets the section label type. |
void |
setSeriesLabelFont(java.awt.Font font)
Sets the series label font. |
void |
setSeriesLabelPaint(java.awt.Paint paint)
Sets the series label paint. |
void |
setShowSeriesLabels(boolean flag)
Sets the show series labels flag. |
void |
setStartAngle(double angle)
Sets the starting angle. |
void |
setToolTipGenerator(PieToolTipGenerator generator)
Sets the tool tip generator. |
void |
setURLGenerator(PieURLGenerator generator)
Sets the URL generator. |
void |
setValueFormat(java.text.NumberFormat format)
Sets the format for the value labels. |
void |
setValueFormatString(java.lang.String format)
Sets the format string for the value labels. |
void |
zoom(double percent)
A zoom method that does nothing. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int CLOCKWISE
public static final int ANTICLOCKWISE
public static final double DEFAULT_INTERIOR_GAP
public static final double MAX_INTERIOR_GAP
public static final double DEFAULT_RADIUS
public static final double MAX_RADIUS
public static final java.awt.Font DEFAULT_SECTION_LABEL_FONT
public static final java.awt.Paint DEFAULT_SECTION_LABEL_PAINT
public static final double DEFAULT_SECTION_LABEL_GAP
public static final double MAX_SECTION_LABEL_GAP
public static final java.awt.Font DEFAULT_SERIES_LABEL_FONT
public static final java.awt.Paint DEFAULT_SERIES_LABEL_PAINT
public static final boolean DEFAULT_SHOW_SERIES_LABELS
public static final int NO_LABELS
public static final int NAME_LABELS
public static final int VALUE_LABELS
public static final int PERCENT_LABELS
public static final int NAME_AND_VALUE_LABELS
public static final int NAME_AND_PERCENT_LABELS
public static final int VALUE_AND_PERCENT_LABELS
Constructor Detail |
public PiePlot(PieDataset data)
data
- the data.public PiePlot(CategoryDataset data)
data
- the data.public PiePlot(PieDataset data, java.awt.Insets insets, java.awt.Paint backgroundPaint, java.awt.Image backgroundImage, float backgroundAlpha, java.awt.Stroke outlineStroke, java.awt.Paint outlinePaint, float foregroundAlpha, double interiorGapPercent, boolean circular, double radiusPercent, int sectionLabelType, java.awt.Font sectionLabelFont, java.awt.Paint sectionLabelPaint, double sectionLabelGapPercent, java.lang.String valueFormatString, java.lang.String percentFormatString, PieToolTipGenerator toolTipGenerator, PieURLGenerator urlGenerator)
data
- the data.insets
- amount of blank space around the plot area.backgroundPaint
- an optional color for the plot's background.backgroundImage
- an optional image for the plot's background.backgroundAlpha
- alpha-transparency for the plot's background.outlineStroke
- the Stroke used to draw an outline around the plot.outlinePaint
- the color used to draw an outline around the plot.foregroundAlpha
- the alpha-transparency for the plot.interiorGapPercent
- the interior gap (space for labels) as a percentage of the
available space.circular
- flag indicating whether the pie chart is circular or elliptical.radiusPercent
- the radius of the pie chart, as a percentage of the available space
(after accounting for interior gap).sectionLabelType
- the type of labels for the pie sections.sectionLabelFont
- the font for the section labels.sectionLabelPaint
- the color for the section labels.sectionLabelGapPercent
- the space between the pie sections and the labels.valueFormatString
- the value format string.percentFormatString
- the percent format string.urlGenerator
- the URL generator.toolTipGenerator
- the tooltip generator.Method Detail |
public double getStartAngle()
This is measured in degrees starting from 3 o'clock and measuring anti-clockwise.
public void setStartAngle(double angle)
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.
angle
- the angle (in degrees).public int getDirection()
public void setDirection(int direction)
direction
- the new direction.public double getInteriorGapPercent()
public void setInteriorGapPercent(double percent)
percent
- the percentage.public boolean isCircular()
public void setCircular(boolean flag)
flag
- the new value.protected void setCircularAttribute(boolean circular)
circular
- the new value of the flag.public double getRadiusPercent()
public void setRadiusPercent(double percent)
percent
- the new value.public double getExplodePercent(int section)
section
- the section number.public void setExplodePercent(int section, double percent)
section
- the section index.percent
- the amount to explode the section as a percentage.public int getSectionLabelType()
public void setSectionLabelType(int type)
Valid types are defined by the following constants: NO_LABELS, NAME_LABELS, VALUE_LABELS, PERCENT_LABELS, NAME_AND_VALUE_LABELS, NAME_AND_PERCENT_LABELS, VALUE_AND_PERCENT_LABELS.
type
- the type.public java.awt.Font getSectionLabelFont()
public void setSectionLabelFont(java.awt.Font font)
Notifies registered listeners that the plot has been changed.
font
- the new section label font.public java.awt.Paint getSectionLabelPaint()
public void setSectionLabelPaint(java.awt.Paint paint)
Notifies registered listeners that the plot has been changed.
paint
- the new section label paint.public double getSectionLabelGapPercent()
public void setSectionLabelGapPercent(double percent)
percent
- the gap.public void setValueFormatString(java.lang.String format)
format
- The format.public void setValueFormat(java.text.NumberFormat format)
format
- the format.public void setPercentFormatString(java.lang.String format)
format
- the format.public void setPercentFormat(java.text.NumberFormat format)
format
- the format.public PieDataset getPieDataset()
Provided for convenience.
public boolean getShowSeriesLabels()
public void setShowSeriesLabels(boolean flag)
Notifies registered listeners that the plot has been changed.
flag
- the new show series labels flag.public java.awt.Font getSeriesLabelFont()
public void setSeriesLabelFont(java.awt.Font font)
Notifies registered listeners that the plot has been changed.
font
- the new series label font.public java.awt.Paint getSeriesLabelPaint()
public void setSeriesLabelPaint(java.awt.Paint paint)
Notifies registered listeners that the plot has been changed.
paint
- the new series label paint.
public java.util.Collection getCategories()
public java.util.List getLegendItemLabels()
getLegendItemLabels
in class Plot
public LegendItemCollection getLegendItems()
getLegendItems
in class Plot
public PieToolTipGenerator getToolTipGenerator()
public void setToolTipGenerator(PieToolTipGenerator generator)
If you set the generator to null, no tool tips will be generated for the pie chart.
generator
- the new tooltip generator (null permitted).public PieURLGenerator getURLGenerator()
public void setURLGenerator(PieURLGenerator generator)
generator
- the new URL generator (null permitted).public void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, ChartRenderingInfo info)
draw
in class Plot
g2
- the graphics device.plotArea
- the area within which the plot should be drawn.info
- collects info about the drawing.protected void drawLabel(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D pieArea, java.awt.geom.Rectangle2D explodedPieArea, PieDataset data, double value, int section, double startAngle, double extent)
g2
- the graphics device.pieArea
- the area for the unexploded pie sections.explodedPieArea
- the area for the exploded pie section.data
- the data for the plot.value
- the value of the label.section
- the section (zero-based index).startAngle
- the starting angle.extent
- the extent of the arc.public java.lang.String getPlotType()
getPlotType
in class Plot
public void zoom(double percent)
Plots are required to support the zoom operation. In the case of a pie chart, it doesn't make sense to zoom in or out, so the method is empty.
zoom
in class Plot
percent
- the zoom percentage.protected java.awt.geom.Rectangle2D getArcBounds(java.awt.geom.Rectangle2D unexploded, java.awt.geom.Rectangle2D exploded, double startAngle, double extent, double explodePercent)
unexploded
- the area inside which the unexploded pie sections are drawn.exploded
- the area inside which the exploded pie sections are drawn.startAngle
- the start angle.extent
- the extent of the arc.explodePercent
- the amount by which the pie section is exploded.protected java.awt.geom.Point2D calculateLabelLocation(java.awt.geom.Rectangle2D labelBounds, double ascent, java.awt.geom.Rectangle2D unexploded, java.awt.geom.Rectangle2D exploded, double startAngle, double extent, double explodePercent)
labelBounds
- the label bounds.ascent
- the ascent.unexploded
- the area within which the unexploded pie sections are drawn.exploded
- the area within which the exploded pie sections are drawn.startAngle
- the start angle for the pie section.extent
- the extent of the arc.explodePercent
- the amount by which the pie section is exploded.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |