Package org.jfree.chart.plot
Class RingPlot
java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.PiePlot
org.jfree.chart.plot.RingPlot
- All Implemented Interfaces:
Serializable
,Cloneable
,EventListener
,AnnotationChangeListener
,AxisChangeListener
,MarkerChangeListener
,LegendItemSource
,PublicCloneable
,DatasetChangeListener
public class RingPlot extends PiePlot implements Cloneable, Serializable
A customised pie plot that leaves a hole in the middle.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class org.jfree.chart.plot.PiePlot
DEFAULT_INTERIOR_GAP, DEFAULT_LABEL_BACKGROUND_PAINT, DEFAULT_LABEL_FONT, DEFAULT_LABEL_OUTLINE_PAINT, DEFAULT_LABEL_OUTLINE_STROKE, DEFAULT_LABEL_PAINT, DEFAULT_LABEL_SHADOW_PAINT, DEFAULT_MINIMUM_ARC_ANGLE_TO_DRAW, DEFAULT_START_ANGLE, localizationResources, MAX_INTERIOR_GAP
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
Constructors Constructor Description RingPlot()
Creates a new plot with anull
dataset.RingPlot(PieDataset dataset)
Creates a new plot for the specified dataset. -
Method Summary
Modifier and Type Method Description protected void
drawItem(Graphics2D g2, int section, Rectangle2D dataArea, PiePlotState state, int currentPass)
Draws a single data item.boolean
equals(Object obj)
Tests this plot for equality with an arbitrary object.String
getCenterText()
Returns the text to display in the center of the plot when the mode isCenterTextMode.FIXED
.Color
getCenterTextColor()
Returns the color for the center text.Font
getCenterTextFont()
Returns the font used to display the center text.Format
getCenterTextFormatter()
Returns the formatter used to format the center text value for the modeCenterTextMode.VALUE
.CenterTextMode
getCenterTextMode()
Returns the mode for displaying text in the center of the plot.double
getInnerSeparatorExtension()
Returns the length of the inner extension of the separator line that is drawn between sections, expressed as a percentage of the depth of the section.protected double
getLabelLinkDepth()
This method overrides the default value for cases where the ring plot is very thin.double
getOuterSeparatorExtension()
Returns the length of the outer extension of the separator line that is drawn between sections, expressed as a percentage of the depth of the section.double
getSectionDepth()
Returns the depth of each section, expressed as a percentage of the plot radius.Paint
getSeparatorPaint()
Returns the separator paint.Stroke
getSeparatorStroke()
Returns the separator stroke.boolean
getSeparatorsVisible()
Returns a flag that indicates whether or not separators are drawn between the sections in the chart.PiePlotState
initialise(Graphics2D g2, Rectangle2D plotArea, PiePlot plot, Integer index, PlotRenderingInfo info)
Initialises the plot state (which will store the total of all dataset values, among other things).void
setCenterText(String text)
Sets the text to display in the center of the plot and sends a change event to all registered listeners.void
setCenterTextColor(Color color)
Sets the color for the center text and sends a change event to all registered listeners.void
setCenterTextFont(Font font)
Sets the font used to display the center text and sends a change event to all registered listeners.void
setCenterTextFormatter(Format formatter)
Sets the formatter used to format the center text value and sends a change event to all registered listeners.void
setCenterTextMode(CenterTextMode mode)
Sets the mode for displaying text in the center of the plot and sends a change event to all registered listeners.void
setInnerSeparatorExtension(double percent)
Sets the length of the inner extension of the separator line that is drawn between sections, as a percentage of the depth of the sections, and sends a change event to all registered listeners.void
setOuterSeparatorExtension(double percent)
Sets the length of the outer extension of the separator line that is drawn between sections, as a percentage of the depth of the sections, and sends a change event to all registered listeners.void
setSectionDepth(double sectionDepth)
The section depth is given as percentage of the plot radius.void
setSeparatorPaint(Paint paint)
Sets the paint used to draw the separator between sections and sends a change event to all registered listeners.void
setSeparatorStroke(Stroke stroke)
Sets the stroke used to draw the separator between sections and sends a change event to all registered listeners.void
setSeparatorsVisible(boolean visible)
Sets the flag that controls whether or not separators are drawn between the sections in the chart, and sends a change event to all registered listeners.Methods inherited from class org.jfree.chart.plot.PiePlot
clearSectionOutlinePaints, clearSectionOutlineStrokes, clearSectionPaints, clone, draw, drawLabels, drawLeftLabel, drawLeftLabels, drawPie, drawRightLabel, drawRightLabels, drawSimpleLabels, getArcBounds, getArcCenter, getAutoPopulateSectionOutlinePaint, getAutoPopulateSectionOutlineStroke, getAutoPopulateSectionPaint, getDataset, getDefaultSectionOutlinePaint, getDefaultSectionOutlineStroke, getDefaultSectionPaint, getDirection, getExplodePercent, getIgnoreNullValues, getIgnoreZeroValues, getInteriorGap, getLabelBackgroundPaint, getLabelDistributor, getLabelFont, getLabelGap, getLabelGenerator, getLabelLinkMargin, getLabelLinkPaint, getLabelLinkStroke, getLabelLinkStyle, getLabelLinksVisible, getLabelOutlinePaint, getLabelOutlineStroke, getLabelPadding, getLabelPaint, getLabelShadowPaint, getLegendItems, getLegendItemShape, getLegendLabelGenerator, getLegendLabelToolTipGenerator, getLegendLabelURLGenerator, getMaximumExplodePercent, getMaximumLabelWidth, getMinimumArcAngleToDraw, getPieIndex, getPlotType, getSectionKey, getSectionOutlinePaint, getSectionOutlineStroke, getSectionOutlinesVisible, getSectionPaint, getShadowGenerator, getShadowPaint, getShadowXOffset, getShadowYOffset, getSimpleLabelOffset, getSimpleLabels, getStartAngle, getToolTipGenerator, getURLGenerator, handleMouseWheelRotation, hashCode, isCircular, lookupSectionOutlinePaint, lookupSectionOutlinePaint, lookupSectionOutlineStroke, lookupSectionOutlineStroke, lookupSectionPaint, lookupSectionPaint, lookupSectionPaint, setAutoPopulateSectionOutlinePaint, setAutoPopulateSectionOutlineStroke, setAutoPopulateSectionPaint, setCircular, setCircular, setDataset, setDefaultSectionOutlinePaint, setDefaultSectionOutlineStroke, setDefaultSectionPaint, setDirection, setExplodePercent, setIgnoreNullValues, setIgnoreZeroValues, setInteriorGap, setLabelBackgroundPaint, setLabelDistributor, setLabelFont, setLabelGap, setLabelGenerator, setLabelLinkMargin, setLabelLinkPaint, setLabelLinkStroke, setLabelLinkStyle, setLabelLinksVisible, setLabelOutlinePaint, setLabelOutlineStroke, setLabelPadding, setLabelPaint, setLabelShadowPaint, setLegendItemShape, setLegendLabelGenerator, setLegendLabelToolTipGenerator, setLegendLabelURLGenerator, setMaximumLabelWidth, setMinimumArcAngleToDraw, setPieIndex, setSectionOutlinePaint, setSectionOutlineStroke, setSectionOutlinesVisible, setSectionPaint, setShadowGenerator, setShadowPaint, setShadowXOffset, setShadowYOffset, setSimpleLabelOffset, setSimpleLabels, setStartAngle, setToolTipGenerator, setURLGenerator
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, annotationChanged, axisChanged, createAndAddEntity, datasetChanged, drawBackground, drawBackgroundImage, drawNoDataMessage, drawOutline, fetchElementHintingFlag, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getChart, 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, setChart, setDatasetGroup, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setNotify, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent, zoom
-
Constructor Details
-
RingPlot
public RingPlot()Creates a new plot with anull
dataset. -
RingPlot
Creates a new plot for the specified dataset.- Parameters:
dataset
- the dataset (null
permitted).
-
-
Method Details
-
getCenterTextMode
Returns the mode for displaying text in the center of the plot. The default value isCenterTextMode.NONE
therefore no text will be displayed by default.- Returns:
- The mode (never
null
).
-
setCenterTextMode
Sets the mode for displaying text in the center of the plot and sends a change event to all registered listeners. ForCenterTextMode.FIXED
, the display text will come from thecenterText
attribute (seegetCenterText()
). ForCenterTextMode.VALUE
, the center text will be the value from the first section in the dataset.- Parameters:
mode
- the mode (null
not permitted).
-
getCenterText
Returns the text to display in the center of the plot when the mode isCenterTextMode.FIXED
.- Returns:
- The text (possibly
null
).
-
setCenterText
Sets the text to display in the center of the plot and sends a change event to all registered listeners. If the text is set tonull
, no text will be displayed.- Parameters:
text
- the text (null
permitted).
-
getCenterTextFormatter
Returns the formatter used to format the center text value for the modeCenterTextMode.VALUE
. The default value isDecimalFormat("0.00")
.- Returns:
- The formatter (never
null
).
-
setCenterTextFormatter
Sets the formatter used to format the center text value and sends a change event to all registered listeners.- Parameters:
formatter
- the formatter (null
not permitted).
-
getCenterTextFont
Returns the font used to display the center text. The default value isPiePlot.DEFAULT_LABEL_FONT
.- Returns:
- The font (never
null
).
-
setCenterTextFont
Sets the font used to display the center text and sends a change event to all registered listeners.- Parameters:
font
- the font (null
not permitted).
-
getCenterTextColor
Returns the color for the center text. The default value isColor.BLACK
.- Returns:
- The color (never
null
).
-
setCenterTextColor
Sets the color for the center text and sends a change event to all registered listeners.- Parameters:
color
- the color (null
not permitted).
-
getSeparatorsVisible
Returns a flag that indicates whether or not separators are drawn between the sections in the chart.- Returns:
- A boolean.
- See Also:
setSeparatorsVisible(boolean)
-
setSeparatorsVisible
Sets the flag that controls whether or not separators are drawn between the sections in the chart, and sends a change event to all registered listeners.- Parameters:
visible
- the flag.- See Also:
getSeparatorsVisible()
-
getSeparatorStroke
Returns the separator stroke.- Returns:
- The stroke (never
null
). - See Also:
setSeparatorStroke(Stroke)
-
setSeparatorStroke
Sets the stroke used to draw the separator between sections and sends a change event to all registered listeners.- Parameters:
stroke
- the stroke (null
not permitted).- See Also:
getSeparatorStroke()
-
getSeparatorPaint
Returns the separator paint.- Returns:
- The paint (never
null
). - See Also:
setSeparatorPaint(Paint)
-
setSeparatorPaint
Sets the paint used to draw the separator between sections and sends a change event to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
getSeparatorPaint()
-
getInnerSeparatorExtension
Returns the length of the inner extension of the separator line that is drawn between sections, expressed as a percentage of the depth of the section.- Returns:
- The inner separator extension (as a percentage).
- See Also:
setInnerSeparatorExtension(double)
-
setInnerSeparatorExtension
Sets the length of the inner extension of the separator line that is drawn between sections, as a percentage of the depth of the sections, and sends a change event to all registered listeners.- Parameters:
percent
- the percentage.- See Also:
getInnerSeparatorExtension()
,setOuterSeparatorExtension(double)
-
getOuterSeparatorExtension
Returns the length of the outer extension of the separator line that is drawn between sections, expressed as a percentage of the depth of the section.- Returns:
- The outer separator extension (as a percentage).
- See Also:
setOuterSeparatorExtension(double)
-
setOuterSeparatorExtension
Sets the length of the outer extension of the separator line that is drawn between sections, as a percentage of the depth of the sections, and sends a change event to all registered listeners.- Parameters:
percent
- the percentage.- See Also:
getOuterSeparatorExtension()
-
getSectionDepth
Returns the depth of each section, expressed as a percentage of the plot radius.- Returns:
- The depth of each section.
- See Also:
setSectionDepth(double)
-
setSectionDepth
The section depth is given as percentage of the plot radius. Specifying 1.0 results in a straightforward pie chart.- Parameters:
sectionDepth
- the section depth.- See Also:
getSectionDepth()
-
initialise
public PiePlotState initialise(Graphics2D g2, Rectangle2D plotArea, PiePlot plot, Integer index, PlotRenderingInfo info)Initialises the plot state (which will store the total of all dataset values, among other things). This method is called once at the beginning of each drawing.- Overrides:
initialise
in classPiePlot
- 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).
-
drawItem
protected void drawItem(Graphics2D g2, int section, Rectangle2D dataArea, PiePlotState state, int currentPass)Draws a single data item. -
getLabelLinkDepth
This method overrides the default value for cases where the ring plot is very thin. This fixes bug 2121818.- Overrides:
getLabelLinkDepth
in classPiePlot
- Returns:
- The label link depth, as a percentage of the plot's radius.
-
equals
Tests this plot for equality with an arbitrary object.
-