Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.SpiderWebPlot
CategoryDataset
in the form of a
"spider web". Multiple series can be plotted on the same axis to allow
easy comparison. This plot doesn't support negative values at present.
Field Summary | |
static double |
|
static double |
|
static double |
|
static Paint |
|
static Font |
|
static Paint |
|
static Stroke |
|
static Paint |
|
static Paint |
|
static double |
|
static double |
|
static double |
|
protected double |
|
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 | |
| |
| |
|
Method Summary | |
protected Point2D |
|
Object |
|
void |
|
protected void |
|
protected void |
|
boolean |
|
double |
|
Paint |
|
Stroke |
|
Paint |
|
Stroke |
|
Paint |
|
TableOrder |
|
CategoryDataset |
|
Rotation |
|
double |
|
double |
|
Font |
|
CategoryItemLabelGenerator |
|
Paint |
|
Shape |
|
LegendItemCollection |
|
double |
|
String |
|
protected Number |
|
Paint |
|
Paint |
|
Stroke |
|
Stroke |
|
Paint |
|
Paint |
|
double |
|
CategoryToolTipGenerator |
|
CategoryURLGenerator |
|
protected Point2D |
|
boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
public static final double DEFAULT_AXIS_LABEL_GAP
The default axis label gap (currently 10%).
- Field Value:
- 0.0
public static final double DEFAULT_HEAD
The default head radius percent (currently 1%).
- Field Value:
- 0.0
public static final double DEFAULT_INTERIOR_GAP
The default interior gap.
- Field Value:
- 0.0
public static final Paint DEFAULT_LABEL_BACKGROUND_PAINT
The default series label background paint.
public static final Paint DEFAULT_LABEL_OUTLINE_PAINT
The default series label outline paint.
public static final Stroke DEFAULT_LABEL_OUTLINE_STROKE
The default series label outline stroke.
public static final Paint DEFAULT_LABEL_SHADOW_PAINT
The default series label shadow paint.
public static final double DEFAULT_MAX_VALUE
The default maximum value plotted - forces the plot to evaluate the maximum from the data passed in
- Field Value:
- -1.0
public static final double DEFAULT_START_ANGLE
The default starting angle for the radar chart axes.
- Field Value:
- 90.0
public static final double MAX_INTERIOR_GAP
The maximum interior gap (currently 40%).
- Field Value:
- 0.0
protected double headPercent
The head radius as a percentage of the available drawing area.
public SpiderWebPlot(CategoryDataset dataset)
Creates a new spider web plot with the given dataset, with each row representing a series.
- Parameters:
dataset
- the dataset (null
permitted).
public SpiderWebPlot(CategoryDataset dataset, TableOrder extract)
Creates a new spider web plot with the given dataset.
- Parameters:
dataset
- the dataset.extract
- controls how data is extracted (TableOrder.BY_ROW
orTableOrder.BY_COLUMN
).
protected Point2D calculateLabelLocation(Rectangle2D labelBounds, double ascent, Rectangle2D plotArea, double startAngle)
Returns the location for a label
- Parameters:
labelBounds
- the label bounds.ascent
- the ascent (height of font).plotArea
- the plot areastartAngle
- the start angle for the pie series.
- Returns:
- The location for a label.
public Object clone() throws CloneNotSupportedException
Returns a clone of this plot.
- Returns:
- A clone of this plot.
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.
protected void drawLabel(Graphics2D g2, Rectangle2D plotArea, double value, int cat, double startAngle, double extent)
Draws the label for one axis.
- Parameters:
g2
- the graphics device.plotArea
- the plot areavalue
- the value of the label (ignored).cat
- the category (zero-based index).startAngle
- the starting angle.extent
- the extent of the arc.
protected void drawRadarPoly(Graphics2D g2, Rectangle2D plotArea, Point2D centre, PlotRenderingInfo info, int series, int catCount, double headH, double headW)
Draws a radar plot polygon.
- Parameters:
g2
- the graphics device.plotArea
- the area we are plotting in (already adjusted).centre
- the centre point of the radar axesinfo
- chart rendering info.series
- the series within the dataset we are plottingcatCount
- the number of categories per radar plotheadH
- the data point heightheadW
- the data point width
public boolean equals(Object obj)
Tests this plot for equality with an arbitrary object.
- Parameters:
obj
- the object (null
permitted).
- Returns:
- A boolean.
public double getAxisLabelGap()
Returns the axis label gap.
- Returns:
- The axis label gap.
- See Also:
setAxisLabelGap(double)
public Paint getAxisLinePaint()
Returns the paint used to draw the axis lines.
- Returns:
- The paint used to draw the axis lines (never
null
).
- Since:
- 1.0.4
- See Also:
setAxisLinePaint(Paint)
,getAxisLineStroke()
public Stroke getAxisLineStroke()
Returns the stroke used to draw the axis lines.
- Returns:
- The stroke used to draw the axis lines (never
null
).
- Since:
- 1.0.4
- See Also:
setAxisLineStroke(Stroke)
,getAxisLinePaint()
public Paint getBaseSeriesOutlinePaint()
Returns the base series paint. This is used when no other paint is available.
- Returns:
- The paint (never
null
).
public Stroke getBaseSeriesOutlineStroke()
Returns the base series stroke. This is used when no other stroke is available.
- Returns:
- The stroke (never
null
).
public Paint getBaseSeriesPaint()
Returns the base series paint. This is used when no other paint is available.
- Returns:
- The paint (never
null
).
- See Also:
setBaseSeriesPaint(Paint)
public TableOrder getDataExtractOrder()
Returns the data extract order (by row or by column).
- Returns:
- The data extract order (never
null
).
- See Also:
setDataExtractOrder(TableOrder)
public CategoryDataset getDataset()
Returns the dataset.
- Returns:
- The dataset (possibly
null
).
- See Also:
setDataset(CategoryDataset)
public Rotation getDirection()
Returns the direction in which the radar axes are drawn (clockwise or anti-clockwise).
- Returns:
- The direction (never
null
).
- See Also:
setDirection(Rotation)
public double getHeadPercent()
Returns the head percent.
- Returns:
- The head percent.
- See Also:
setHeadPercent(double)
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).
- See Also:
setInteriorGap(double)
public Font getLabelFont()
Returns the series label font.
- Returns:
- The font (never
null
).
- See Also:
setLabelFont(Font)
public CategoryItemLabelGenerator getLabelGenerator()
Returns the label generator.
- Returns:
- The label generator (never
null
).
public Paint getLabelPaint()
Returns the series label paint.
- Returns:
- The paint (never
null
).
- See Also:
setLabelPaint(Paint)
public Shape getLegendItemShape()
Returns the shape used for legend items.
- Returns:
- The shape (never
null
).
- See Also:
setLegendItemShape(Shape)
public LegendItemCollection getLegendItems()
Returns a collection of legend items for the radar chart.
- Specified by:
- getLegendItems in interface LegendItemSource
- Overrides:
- getLegendItems in interface Plot
- Returns:
- The legend items.
public double getMaxValue()
Returns the maximum value any category axis can take.
- Returns:
- The maximum value.
- See Also:
setMaxValue(double)
public String getPlotType()
Returns a short string describing the type of plot.
- Overrides:
- getPlotType in interface Plot
- Returns:
- The plot type.
protected Number getPlotValue(int series, int cat)
Returns the value to be plotted at the interseries of the series and the category. This allows us to plotBY_ROW
orBY_COLUMN
which basically is just reversing the definition of the categories and data series being plotted.
- Parameters:
series
- the series to be plotted.cat
- the category within the series to be plotted.
- Returns:
- The value to be plotted (possibly
null
).
- See Also:
getDataExtractOrder()
public Paint getSeriesOutlinePaint()
Returns the outline paint for ALL series in the plot.
- Returns:
- The paint (possibly
null
).
public Paint getSeriesOutlinePaint(int series)
Returns the paint for the specified series.
- Parameters:
series
- the series index (zero-based).
- Returns:
- The paint (never
null
).
public Stroke getSeriesOutlineStroke()
Returns the outline stroke for ALL series in the plot.
- Returns:
- The stroke (possibly
null
).
public Stroke getSeriesOutlineStroke(int series)
Returns the stroke for the specified series.
- Parameters:
series
- the series index (zero-based).
- Returns:
- The stroke (never
null
).
public Paint getSeriesPaint()
Returns the paint for ALL series in the plot.
- Returns:
- The paint (possibly
null
).
- See Also:
setSeriesPaint(Paint)
public Paint getSeriesPaint(int series)
Returns the paint for the specified series.
- Parameters:
series
- the series index (zero-based).
- Returns:
- The paint (never
null
).
- See Also:
setSeriesPaint(int,Paint)
public double getStartAngle()
Returns the start angle for the first radar axis.
This is measured in degrees starting from 3 o'clock (Java Arc2D default) and measuring anti-clockwise.
- Returns:
- The start angle.
- See Also:
setStartAngle(double)
public CategoryToolTipGenerator getToolTipGenerator()
Returns the tool tip generator for the plot.
- Returns:
- The tool tip generator (possibly
null
).
- Since:
- 1.0.2
public CategoryURLGenerator getURLGenerator()
Returns the URL generator for the plot.
- Returns:
- The URL generator (possibly
null
).
- Since:
- 1.0.2
protected Point2D getWebPoint(Rectangle2D bounds, double angle, double length)
Returns a cartesian point from a polar angle, length and bounding box
- Parameters:
bounds
- the area inside which the point needs to be.angle
- the polar angle, in degrees.length
- the relative length. Given in percent of maximum extend.
- Returns:
- The cartesian point.
public boolean isWebFilled()
Method to determine if the web chart is to be filled.
- Returns:
- A boolean.
- See Also:
setWebFilled(boolean)
public void setAxisLabelGap(double gap)
Sets the axis label gap and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
gap
- the gap.
- See Also:
getAxisLabelGap()
public void setAxisLinePaint(Paint paint)
Sets the paint used to draw the axis lines and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
paint
- the paint (null
not permitted).
- Since:
- 1.0.4
- See Also:
getAxisLinePaint()
public void setAxisLineStroke(Stroke stroke)
Sets the stroke used to draw the axis lines and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
stroke
- the stroke (null
not permitted).
- Since:
- 1.0.4
- See Also:
getAxisLineStroke()
public void setBaseSeriesOutlinePaint(Paint paint)
Sets the base series paint.
- Parameters:
paint
- the paint (null
not permitted).
public void setBaseSeriesOutlineStroke(Stroke stroke)
Sets the base series stroke.
- Parameters:
stroke
- the stroke (null
not permitted).
public void setBaseSeriesPaint(Paint paint)
Sets the base series paint.
- Parameters:
paint
- the paint (null
not permitted).
- See Also:
getBaseSeriesPaint()
public void setDataExtractOrder(TableOrder order)
Sets the data extract order (by row or by column) and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
order
- the order (null
not permitted).
- See Also:
getDataExtractOrder()
public void setDataset(CategoryDataset dataset)
Sets the dataset used by the plot and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
dataset
- the dataset (null
permitted).
- See Also:
getDataset()
public void setDirection(Rotation direction)
Sets the direction in which the radar axes are drawn and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
direction
- the direction (null
not permitted).
- See Also:
getDirection()
public void setHeadPercent(double percent)
Sets the head percent and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
percent
- the percent.
- See Also:
getHeadPercent()
public void setInteriorGap(double percent)
Sets the interior gap and sends aPlotChangeEvent
to all registered listeners. This controls the space between the edges of the plot and the plot area itself (the region where the axis labels appear).
- Parameters:
percent
- the gap (as a percentage of the available drawing space).
- See Also:
getInteriorGap()
public void setLabelFont(Font font)
Sets the series label font and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
font
- the font (null
not permitted).
- See Also:
getLabelFont()
public void setLabelGenerator(CategoryItemLabelGenerator generator)
Sets the label generator and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
generator
- the generator (null
not permitted).
- See Also:
getLabelGenerator()
public void setLabelPaint(Paint paint)
Sets the series label paint and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
paint
- the paint (null
not permitted).
- See Also:
getLabelPaint()
public void setLegendItemShape(Shape shape)
Sets the shape used for legend items and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
shape
- the shape (null
not permitted).
- See Also:
getLegendItemShape()
public void setMaxValue(double value)
Sets the maximum value any category axis can take and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
value
- the maximum value.
- See Also:
getMaxValue()
public void setSeriesOutlinePaint(Paint paint)
Sets the outline paint for ALL series 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 series).
- Parameters:
paint
- the paint (null
permitted).
public void setSeriesOutlinePaint(int series, Paint paint)
Sets the paint used to fill a series of the radar and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
series
- the series index (zero-based).paint
- the paint (null
permitted).
public void setSeriesOutlineStroke(Stroke stroke)
Sets the outline stroke for ALL series 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 series).
- Parameters:
stroke
- the stroke (null
permitted).
public void setSeriesOutlineStroke(int series, Stroke stroke)
Sets the stroke used to fill a series of the radar and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
series
- the series index (zero-based).stroke
- the stroke (null
permitted).
public void setSeriesPaint(Paint paint)
Sets the paint for ALL series 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 series of the radar group).
- Parameters:
paint
- the paint (null
permitted).
- See Also:
getSeriesPaint()
public void setSeriesPaint(int series, Paint paint)
Sets the paint used to fill a series of the radar and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
series
- the series index (zero-based).paint
- the paint (null
permitted).
- See Also:
getSeriesPaint(int)
public void setStartAngle(double angle)
Sets the starting angle and sends aPlotChangeEvent
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:
getStartAngle()
public void setToolTipGenerator(CategoryToolTipGenerator generator)
Sets the tool tip generator for the plot and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
generator
- the generator (null
permitted).
- Since:
- 1.0.2
- See Also:
getToolTipGenerator()
public void setURLGenerator(CategoryURLGenerator generator)
Sets the URL generator for the plot and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
generator
- the generator (null
permitted).
- Since:
- 1.0.2
- See Also:
getURLGenerator()
public void setWebFilled(boolean flag)
Sets the webFilled flag and sends aPlotChangeEvent
to all registered listeners.
- Parameters:
flag
- the flag.
- See Also:
isWebFilled()