java.lang.Object
   ↳ org.jfree.chart.plot.Plot
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

The base class for all plots in JFreeChart. The JFreeChart class delegates the drawing of axes and data to the plot. This base class provides facilities common to most plot types.

Summary

Constants
float DEFAULT_BACKGROUND_ALPHA The default background alpha transparency.
float DEFAULT_FOREGROUND_ALPHA The default foreground alpha transparency.
int MINIMUM_HEIGHT_TO_DRAW The minimum height at which the plot should be drawn.
int MINIMUM_WIDTH_TO_DRAW The minimum width at which the plot should be drawn.
Fields
public static final Paint DEFAULT_BACKGROUND_PAINT The default background color.
public static final RectangleInsets DEFAULT_INSETS The default insets.
public static final Shape DEFAULT_LEGEND_ITEM_BOX A default box shape for legend items.
public static final Shape DEFAULT_LEGEND_ITEM_CIRCLE A default circle shape for legend items.
public static final Paint DEFAULT_OUTLINE_PAINT The default outline color.
public static final Stroke DEFAULT_OUTLINE_STROKE The default outline stroke.
public static final Number ZERO Useful constant representing zero.
Protected Constructors
Plot()
Creates a new plot.
Public Methods
void addChangeListener(PlotChangeListener listener)
Registers an object for notification of changes to the plot.
void axisChanged(AxisChangeEvent event)
Receives notification of a change to one of the plot's axes.
Object clone()
Creates a clone of the plot.
void datasetChanged(DatasetChangeEvent event)
Receives notification of a change to the plot's dataset.
abstract void draw(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
Draws the plot within the specified area.
void drawBackground(Graphics2D g2, Rectangle2D area)
Draws the plot background (the background color and/or image).
void drawBackgroundImage(Graphics2D g2, Rectangle2D area)
Draws the background image (if there is one) aligned within the specified area.
void drawOutline(Graphics2D g2, Rectangle2D area)
Draws the plot outline.
boolean equals(Object obj)
Tests this plot for equality with another object.
float getBackgroundAlpha()
Returns the alpha transparency of the plot area background.
Image getBackgroundImage()
Returns the background image that is used to fill the plot's background area.
int getBackgroundImageAlignment()
Returns the background image alignment.
float getBackgroundImageAlpha()
Returns the alpha transparency used to draw the background image.
Paint getBackgroundPaint()
Returns the background color of the plot area.
DatasetGroup getDatasetGroup()
Returns the dataset group for the plot (not currently used).
DrawingSupplier getDrawingSupplier()
Returns the drawing supplier for the plot.
float getForegroundAlpha()
Returns the alpha-transparency for the plot foreground.
RectangleInsets getInsets()
Returns the insets for the plot area.
LegendItemCollection getLegendItems()
Returns the legend items for the plot.
String getNoDataMessage()
Returns the string that is displayed when the dataset is empty or null.
Font getNoDataMessageFont()
Returns the font used to display the 'no data' message.
Paint getNoDataMessagePaint()
Returns the paint used to display the 'no data' message.
Paint getOutlinePaint()
Returns the color used to draw the outline of the plot area.
Stroke getOutlineStroke()
Returns the stroke used to outline the plot area.
Plot getParent()
Returns the parent plot (or null if this plot is not part of a combined plot).
abstract String getPlotType()
Returns a short string describing the plot type.
Plot getRootPlot()
Returns the root plot.
void handleClick(int x, int y, PlotRenderingInfo info)
Handles a 'click' on the plot.
boolean isNotify()
Returns a flag that controls whether or not change events are sent to registered listeners.
boolean isOutlineVisible()
Returns the flag that controls whether or not the plot outline is drawn.
boolean isSubplot()
Returns true if this plot is part of a combined plot structure (that is, getParent() returns a non-null value), and false otherwise.
void markerChanged(MarkerChangeEvent event)
Receives notification of a change to a marker that is assigned to the plot.
void notifyListeners(PlotChangeEvent event)
Notifies all registered listeners that the plot has been modified.
void removeChangeListener(PlotChangeListener listener)
Unregisters an object for notification of changes to the plot.
static RectangleEdge resolveDomainAxisLocation(AxisLocation location, PlotOrientation orientation)
Resolves a domain axis location for a given plot orientation.
static RectangleEdge resolveRangeAxisLocation(AxisLocation location, PlotOrientation orientation)
Resolves a range axis location for a given plot orientation.
void setBackgroundAlpha(float alpha)
Sets the alpha transparency of the plot area background, and notifies registered listeners that the plot has been modified.
void setBackgroundImage(Image image)
Sets the background image for the plot and sends a PlotChangeEvent to all registered listeners.
void setBackgroundImageAlignment(int alignment)
Sets the alignment for the background image and sends a PlotChangeEvent to all registered listeners.
void setBackgroundImageAlpha(float alpha)
Sets the alpha transparency used when drawing the background image.
void setBackgroundPaint(Paint paint)
Sets the background color of the plot area and sends a PlotChangeEvent to all registered listeners.
void setDrawingSupplier(DrawingSupplier supplier)
Sets the drawing supplier for the plot and sends a PlotChangeEvent to all registered listeners.
void setDrawingSupplier(DrawingSupplier supplier, boolean notify)
Sets the drawing supplier for the plot and, if requested, sends a PlotChangeEvent to all registered listeners.
void setForegroundAlpha(float alpha)
Sets the alpha-transparency for the plot and sends a PlotChangeEvent to all registered listeners.
void setInsets(RectangleInsets insets)
Sets the insets for the plot and sends a PlotChangeEvent to all registered listeners.
void setInsets(RectangleInsets insets, boolean notify)
Sets the insets for the plot and, if requested, and sends a PlotChangeEvent to all registered listeners.
void setNoDataMessage(String message)
Sets the message that is displayed when the dataset is empty or null, and sends a PlotChangeEvent to all registered listeners.
void setNoDataMessageFont(Font font)
Sets the font used to display the 'no data' message and sends a PlotChangeEvent to all registered listeners.
void setNoDataMessagePaint(Paint paint)
Sets the paint used to display the 'no data' message and sends a PlotChangeEvent to all registered listeners.
void setNotify(boolean notify)
Sets a flag that controls whether or not listeners receive PlotChangeEvent notifications.
void setOutlinePaint(Paint paint)
Sets the paint used to draw the outline of the plot area and sends a PlotChangeEvent to all registered listeners.
void setOutlineStroke(Stroke stroke)
Sets the stroke used to outline the plot area and sends a PlotChangeEvent to all registered listeners.
void setOutlineVisible(boolean visible)
Sets the flag that controls whether or not the plot's outline is drawn, and sends a PlotChangeEvent to all registered listeners.
void setParent(Plot parent)
Sets the parent plot.
void zoom(double percent)
Performs a zoom on the plot.
Protected Methods
void createAndAddEntity(Rectangle2D dataArea, PlotRenderingInfo plotState, String toolTip, String urlText)
Creates a plot entity that contains a reference to the plot and the data area as shape.
void drawNoDataMessage(Graphics2D g2, Rectangle2D area)
Draws a message to state that there is no data to plot.
void fillBackground(Graphics2D g2, Rectangle2D area)
Fills the specified area with the background paint.
void fillBackground(Graphics2D g2, Rectangle2D area, PlotOrientation orientation)
Fills the specified area with the background paint.
void fireChangeEvent()
Sends a PlotChangeEvent to all registered listeners.
double getRectX(double x, double w1, double w2, RectangleEdge edge)
Adjusts the supplied x-value.
double getRectY(double y, double h1, double h2, RectangleEdge edge)
Adjusts the supplied y-value.
void setDatasetGroup(DatasetGroup group)
Sets the dataset group (not currently used).
[Expand]
Inherited Methods
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 float DEFAULT_BACKGROUND_ALPHA

The default background alpha transparency.

Constant Value: 1.0

public static final float DEFAULT_FOREGROUND_ALPHA

The default foreground alpha transparency.

Constant Value: 1.0

public static final int MINIMUM_HEIGHT_TO_DRAW

The minimum height at which the plot should be drawn.

Constant Value: 10 (0x0000000a)

public static final int MINIMUM_WIDTH_TO_DRAW

The minimum width at which the plot should be drawn.

Constant Value: 10 (0x0000000a)

Fields

public static final Paint DEFAULT_BACKGROUND_PAINT

The default background color.

public static final RectangleInsets DEFAULT_INSETS

The default insets.

public static final Shape DEFAULT_LEGEND_ITEM_BOX

A default box shape for legend items.

public static final Shape DEFAULT_LEGEND_ITEM_CIRCLE

A default circle shape for legend items.

public static final Paint DEFAULT_OUTLINE_PAINT

The default outline color.

public static final Stroke DEFAULT_OUTLINE_STROKE

The default outline stroke.

public static final Number ZERO

Useful constant representing zero.

Protected Constructors

protected Plot ()

Creates a new plot.

Public Methods

public void addChangeListener (PlotChangeListener listener)

Registers an object for notification of changes to the plot.

Parameters
listener the object to be registered.

public void axisChanged (AxisChangeEvent event)

Receives notification of a change to one of the plot's axes.

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

public Object clone ()

Creates a clone of the plot.

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

public void datasetChanged (DatasetChangeEvent event)

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

The plot reacts by passing on a plot change event to all registered listeners.

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

public abstract void draw (Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)

Draws the plot within the specified area. The anchor is a point on the chart that is specified externally (for instance, it may be the last point of the last mouse click performed by the user) - plots can use or ignore this value as they see fit.

Subclasses need to provide an implementation of this method, obviously.

Parameters
g2 the graphics device.
area the plot area.
anchor the anchor point (null permitted).
parentState the parent state (if any).
info carries back plot rendering info.

public void drawBackground (Graphics2D g2, Rectangle2D area)

Draws the plot background (the background color and/or image).

This method will be called during the chart drawing process and is declared public so that it can be accessed by the renderers used by certain subclasses. You shouldn't need to call this method directly.

Parameters
g2 the graphics device.
area the area within which the plot should be drawn.

public void drawBackgroundImage (Graphics2D g2, Rectangle2D area)

Draws the background image (if there is one) aligned within the specified area.

Parameters
g2 the graphics device.
area the area.

public void drawOutline (Graphics2D g2, Rectangle2D area)

Draws the plot outline. This method will be called during the chart drawing process and is declared public so that it can be accessed by the renderers used by certain subclasses. You shouldn't need to call this method directly.

Parameters
g2 the graphics device.
area the area within which the plot should be drawn.

public boolean equals (Object obj)

Tests this plot for equality with another object.

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

public float getBackgroundAlpha ()

Returns the alpha transparency of the plot area background.

Returns
  • The alpha transparency.

public Image getBackgroundImage ()

Returns the background image that is used to fill the plot's background area.

Returns
  • The image (possibly null).

public int getBackgroundImageAlignment ()

Returns the background image alignment. Alignment constants are defined in the org.jfree.ui.Align class in the JCommon class library.

Returns
  • The alignment.

public float getBackgroundImageAlpha ()

Returns the alpha transparency used to draw the background image. This is a value in the range 0.0f to 1.0f, where 0.0f is fully transparent and 1.0f is fully opaque.

Returns
  • The alpha transparency.

public Paint getBackgroundPaint ()

Returns the background color of the plot area.

Returns
  • The paint (possibly null).

public DatasetGroup getDatasetGroup ()

Returns the dataset group for the plot (not currently used).

Returns
  • The dataset group.

public DrawingSupplier getDrawingSupplier ()

Returns the drawing supplier for the plot.

Returns
  • The drawing supplier (possibly null).

public float getForegroundAlpha ()

Returns the alpha-transparency for the plot foreground.

Returns
  • The alpha-transparency.

public RectangleInsets getInsets ()

Returns the insets for the plot area.

Returns
  • The insets (never null).

public LegendItemCollection getLegendItems ()

Returns the legend items for the plot. By default, this method returns null. Subclasses should override to return a LegendItemCollection.

Returns
  • The legend items for the plot (possibly null).

public String getNoDataMessage ()

Returns the string that is displayed when the dataset is empty or null.

Returns
  • The 'no data' message (null possible).

public Font getNoDataMessageFont ()

Returns the font used to display the 'no data' message.

Returns
  • The font (never null).

public Paint getNoDataMessagePaint ()

Returns the paint used to display the 'no data' message.

Returns
  • The paint (never null).

public Paint getOutlinePaint ()

Returns the color used to draw the outline of the plot area.

Returns
  • The color (possibly null).

public Stroke getOutlineStroke ()

Returns the stroke used to outline the plot area.

Returns
  • The stroke (possibly null).

public Plot getParent ()

Returns the parent plot (or null if this plot is not part of a combined plot).

Returns
  • The parent plot.

public abstract String getPlotType ()

Returns a short string describing the plot type.

Note: this gets used in the chart property editing user interface, but there needs to be a better mechanism for identifying the plot type.

Returns
  • A short string describing the plot type (never null).

public Plot getRootPlot ()

Returns the root plot.

Returns
  • The root plot.
See Also

public void handleClick (int x, int y, PlotRenderingInfo info)

Handles a 'click' on the plot. Since the plot does not maintain any information about where it has been drawn, the plot rendering info is supplied as an argument so that the plot dimensions can be determined.

Parameters
x the x coordinate (in Java2D space).
y the y coordinate (in Java2D space).
info an object containing information about the dimensions of the plot.

public boolean isNotify ()

Returns a flag that controls whether or not change events are sent to registered listeners.

Returns
  • A boolean.

public boolean isOutlineVisible ()

Returns the flag that controls whether or not the plot outline is drawn. The default value is true. Note that for historical reasons, the plot's outline paint and stroke can take on null values, in which case the outline will not be drawn even if this flag is set to true.

Returns
  • The outline visibility flag.

public boolean isSubplot ()

Returns true if this plot is part of a combined plot structure (that is, getParent() returns a non-null value), and false otherwise.

Returns
  • true if this plot is part of a combined plot structure.
See Also

public void markerChanged (MarkerChangeEvent event)

Receives notification of a change to a marker that is assigned to the plot.

Parameters
event the event.

public void notifyListeners (PlotChangeEvent event)

Notifies all registered listeners that the plot has been modified.

Parameters
event information about the change event.

public void removeChangeListener (PlotChangeListener listener)

Unregisters an object for notification of changes to the plot.

Parameters
listener the object to be unregistered.

public static RectangleEdge resolveDomainAxisLocation (AxisLocation location, PlotOrientation orientation)

Resolves a domain axis location for a given plot orientation.

Parameters
location the location (null not permitted).
orientation the orientation (null not permitted).
Returns
  • The edge (never null).

public static RectangleEdge resolveRangeAxisLocation (AxisLocation location, PlotOrientation orientation)

Resolves a range axis location for a given plot orientation.

Parameters
location the location (null not permitted).
orientation the orientation (null not permitted).
Returns
  • The edge (never null).

public void setBackgroundAlpha (float alpha)

Sets the alpha transparency of the plot area background, and notifies registered listeners that the plot has been modified.

Parameters
alpha the new alpha value (in the range 0.0f to 1.0f).

public void setBackgroundImage (Image image)

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

Parameters
image the image (null permitted).

public void setBackgroundImageAlignment (int alignment)

Sets the alignment for the background image and sends a PlotChangeEvent to all registered listeners. Alignment options are defined by the org.jfree.ui.Align class in the JCommon class library.

Parameters
alignment the alignment.

public void setBackgroundImageAlpha (float alpha)

Sets the alpha transparency used when drawing the background image.

Parameters
alpha the alpha transparency (in the range 0.0f to 1.0f, where 0.0f is fully transparent, and 1.0f is fully opaque).
Throws
IllegalArgumentException if alpha is not within the specified range.

public void setBackgroundPaint (Paint paint)

Sets the background color of the plot area and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null permitted).

public void setDrawingSupplier (DrawingSupplier supplier)

Sets the drawing supplier for the plot and sends a PlotChangeEvent to all registered listeners. The drawing supplier is responsible for supplying a limitless (possibly repeating) sequence of Paint, Stroke and Shape objects that the plot's renderer(s) can use to populate its (their) tables.

Parameters
supplier the new supplier.

public void setDrawingSupplier (DrawingSupplier supplier, boolean notify)

Sets the drawing supplier for the plot and, if requested, sends a PlotChangeEvent to all registered listeners. The drawing supplier is responsible for supplying a limitless (possibly repeating) sequence of Paint, Stroke and Shape objects that the plot's renderer(s) can use to populate its (their) tables.

Parameters
supplier the new supplier.
notify notify listeners?

public void setForegroundAlpha (float alpha)

Sets the alpha-transparency for the plot and sends a PlotChangeEvent to all registered listeners.

Parameters
alpha the new alpha transparency.

public void setInsets (RectangleInsets insets)

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

Parameters
insets the new insets (null not permitted).

public void setInsets (RectangleInsets insets, boolean notify)

Sets the insets for the plot and, if requested, and sends a PlotChangeEvent to all registered listeners.

Parameters
insets the new insets (null not permitted).
notify a flag that controls whether the registered listeners are notified.

public void setNoDataMessage (String message)

Sets the message that is displayed when the dataset is empty or null, and sends a PlotChangeEvent to all registered listeners.

Parameters
message the message (null permitted).

public void setNoDataMessageFont (Font font)

Sets the font used to display the 'no data' message and sends a PlotChangeEvent to all registered listeners.

Parameters
font the font (null not permitted).

public void setNoDataMessagePaint (Paint paint)

Sets the paint used to display the 'no data' message and sends a PlotChangeEvent to all registered listeners.

Parameters
paint the paint (null not permitted).

public void setNotify (boolean notify)

Sets a flag that controls whether or not listeners receive PlotChangeEvent notifications.

Parameters
notify a boolean.
See Also

public void setOutlinePaint (Paint paint)

Sets the paint used to draw the outline of the plot area and sends a PlotChangeEvent to all registered listeners. If you set this attribute to null, no outline will be drawn.

Parameters
paint the paint (null permitted).

public void setOutlineStroke (Stroke stroke)

Sets the stroke used to outline the plot area and sends a PlotChangeEvent to all registered listeners. If you set this attribute to null, no outline will be drawn.

Parameters
stroke the stroke (null permitted).

public void setOutlineVisible (boolean visible)

Sets the flag that controls whether or not the plot's outline is drawn, and sends a PlotChangeEvent to all registered listeners.

Parameters
visible the new flag value.

public void setParent (Plot parent)

Sets the parent plot. This method is intended for internal use, you shouldn't need to call it directly.

Parameters
parent the parent plot (null permitted).
See Also

public void zoom (double percent)

Performs a zoom on the plot. Subclasses should override if zooming is appropriate for the type of plot.

Parameters
percent the zoom percentage.

Protected Methods

protected void createAndAddEntity (Rectangle2D dataArea, PlotRenderingInfo plotState, String toolTip, String urlText)

Creates a plot entity that contains a reference to the plot and the data area as shape.

Parameters
dataArea the data area used as hot spot for the entity.
plotState the plot rendering info containing a reference to the EntityCollection.
toolTip the tool tip (defined in the respective Plot subclass) (null permitted).
urlText the url (defined in the respective Plot subclass) (null permitted).

protected void drawNoDataMessage (Graphics2D g2, Rectangle2D area)

Draws a message to state that there is no data to plot.

Parameters
g2 the graphics device.
area the area within which the plot should be drawn.

protected void fillBackground (Graphics2D g2, Rectangle2D area)

Fills the specified area with the background paint.

Parameters
g2 the graphics device.
area the area.

protected void fillBackground (Graphics2D g2, Rectangle2D area, PlotOrientation orientation)

Fills the specified area with the background paint. If the background paint is an instance of GradientPaint, the gradient will run in the direction suggested by the plot's orientation.

Parameters
g2 the graphics target.
area the plot area.
orientation the plot orientation (null not permitted).

protected void fireChangeEvent ()

Sends a PlotChangeEvent to all registered listeners.

protected double getRectX (double x, double w1, double w2, RectangleEdge edge)

Adjusts the supplied x-value.

Parameters
x the x-value.
w1 width 1.
w2 width 2.
edge the edge (left or right).
Returns
  • The adjusted x-value.

protected double getRectY (double y, double h1, double h2, RectangleEdge edge)

Adjusts the supplied y-value.

Parameters
y the x-value.
h1 height 1.
h2 height 2.
edge the edge (top or bottom).
Returns
  • The adjusted y-value.

protected void setDatasetGroup (DatasetGroup group)

Sets the dataset group (not currently used).

Parameters
group the dataset group (null permitted).