org.jfree.chart
public class JFreeChart extends Object implements Drawable, TitleChangeListener, PlotChangeListener, Serializable, Cloneable
JFreeChart coordinates several objects to achieve its aim of being able to draw a chart on a Java 2D graphics device: a list of Title objects (which often includes the chart's legend), a Plot and a Dataset (the plot in turn manages a domain axis and a range axis).
You should use a ChartPanel to display a chart in a GUI.
The ChartFactory class contains static methods for creating 'ready-made' charts.
See Also: ChartPanel ChartFactory Title Plot
Field Summary | |
---|---|
static Image | DEFAULT_BACKGROUND_IMAGE The default background image. |
static int | DEFAULT_BACKGROUND_IMAGE_ALIGNMENT The default background image alignment. |
static float | DEFAULT_BACKGROUND_IMAGE_ALPHA The default background image alpha. |
static Paint | DEFAULT_BACKGROUND_PAINT The default background color. |
static Font | DEFAULT_TITLE_FONT The default font for titles. |
static ProjectInfo | INFO Information about the project. |
Constructor Summary | |
---|---|
JFreeChart(Plot plot)
Creates a new chart based on the supplied plot. | |
JFreeChart(String title, Plot plot)
Creates a new chart with the given title and plot. | |
JFreeChart(String title, Font titleFont, Plot plot, boolean createLegend)
Creates a new chart with the given title and plot. |
Method Summary | |
---|---|
void | addChangeListener(ChartChangeListener listener)
Registers an object for notification of changes to the chart.
|
void | addLegend(LegendTitle legend)
Adds a legend to the plot and sends a ChartChangeEvent to all
registered listeners.
|
void | addProgressListener(ChartProgressListener listener)
Registers an object for notification of progress events relating to the
chart.
|
void | addSubtitle(Title subtitle)
Adds a chart subtitle, and notifies registered listeners that the chart
has been modified.
|
void | addSubtitle(int index, Title subtitle)
Adds a subtitle at a particular position in the subtitle list, and sends
a ChartChangeEvent to all registered listeners.
|
void | clearSubtitles()
Clears all subtitles from the chart and sends a ChartChangeEvent
to all registered listeners.
|
Object | clone()
Clones the object, and takes care of listeners.
|
BufferedImage | createBufferedImage(int width, int height)
Creates and returns a buffered image into which the chart has been drawn.
|
BufferedImage | createBufferedImage(int width, int height, ChartRenderingInfo info)
Creates and returns a buffered image into which the chart has been drawn.
|
BufferedImage | createBufferedImage(int width, int height, int imageType, ChartRenderingInfo info)
Creates and returns a buffered image into which the chart has been drawn.
|
BufferedImage | createBufferedImage(int imageWidth, int imageHeight, double drawWidth, double drawHeight, ChartRenderingInfo info)
Creates and returns a buffered image into which the chart has been drawn.
|
void | draw(Graphics2D g2, Rectangle2D area)
Draws the chart on a Java 2D graphics device (such as the screen or a
printer).
|
void | draw(Graphics2D g2, Rectangle2D area, ChartRenderingInfo info)
Draws the chart on a Java 2D graphics device (such as the screen or a
printer). |
void | draw(Graphics2D g2, Rectangle2D chartArea, Point2D anchor, ChartRenderingInfo info)
Draws the chart on a Java 2D graphics device (such as the screen or a
printer).
|
protected EntityCollection | drawTitle(Title t, Graphics2D g2, Rectangle2D area, boolean entities)
Draws a title. |
boolean | equals(Object obj)
Tests this chart for equality with another object.
|
void | fireChartChanged()
Sends a default ChartChangeEvent to all registered listeners.
|
boolean | getAntiAlias()
Returns a flag that indicates whether or not anti-aliasing is used when
the chart is drawn.
|
Image | getBackgroundImage()
Returns the background image for the chart, or null if
there is no image.
|
int | getBackgroundImageAlignment()
Returns the background image alignment. |
float | getBackgroundImageAlpha()
Returns the alpha-transparency for the chart's background image.
|
Paint | getBackgroundPaint()
Returns the paint used for the chart background.
|
Paint | getBorderPaint()
Returns the paint used to draw the chart border (if visible).
|
Stroke | getBorderStroke()
Returns the stroke used to draw the chart border (if visible).
|
CategoryPlot | getCategoryPlot()
Returns the plot cast as a CategoryPlot.
|
LegendTitle | getLegend()
Returns the legend for the chart, if there is one. |
LegendTitle | getLegend(int index)
Returns the nth legend for a chart, or null .
|
RectangleInsets | getPadding()
Returns the padding between the chart border and the chart drawing area.
|
Plot | getPlot()
Returns the plot for the chart. |
RenderingHints | getRenderingHints()
Returns the collection of rendering hints for the chart.
|
Title | getSubtitle(int index)
Returns a chart subtitle.
|
int | getSubtitleCount()
Returns the number of titles for the chart.
|
List | getSubtitles()
Returns the list of subtitles for the chart.
|
Object | getTextAntiAlias()
Returns the current value stored in the rendering hints table for
RenderingHints#KEY_TEXT_ANTIALIASING.
|
TextTitle | getTitle()
Returns the main chart title. |
XYPlot | getXYPlot()
Returns the plot cast as an XYPlot.
|
void | handleClick(int x, int y, ChartRenderingInfo info)
Handles a 'click' on the chart. |
boolean | isBorderVisible()
Returns a flag that controls whether or not a border is drawn around the
outside of the chart.
|
boolean | isNotify()
Returns a flag that controls whether or not change events are sent to
registered listeners.
|
static void | main(String[] args)
Prints information about JFreeChart to standard output.
|
protected void | notifyListeners(ChartChangeEvent event)
Sends a ChartChangeEvent to all registered listeners.
|
protected void | notifyListeners(ChartProgressEvent event)
Sends a ChartProgressEvent to all registered listeners.
|
void | plotChanged(PlotChangeEvent event)
Receives notification that the plot has changed, and passes this on to
registered listeners.
|
void | removeChangeListener(ChartChangeListener listener)
Deregisters an object for notification of changes to the chart.
|
void | removeLegend()
Removes the first legend in the chart and sends a
ChartChangeEvent to all registered listeners.
|
void | removeProgressListener(ChartProgressListener listener)
Deregisters an object for notification of changes to the chart.
|
void | removeSubtitle(Title title)
Removes the specified subtitle and sends a ChartChangeEvent to
all registered listeners.
|
void | setAntiAlias(boolean flag)
Sets a flag that indicates whether or not anti-aliasing is used when the
chart is drawn.
|
void | setBackgroundImage(Image image)
Sets the background image for the chart and sends a
ChartChangeEvent to all registered listeners.
|
void | setBackgroundImageAlignment(int alignment)
Sets the background alignment. |
void | setBackgroundImageAlpha(float alpha)
Sets the alpha-transparency for the chart's background image.
|
void | setBackgroundPaint(Paint paint)
Sets the paint used to fill the chart background and sends a
ChartChangeEvent to all registered listeners.
|
void | setBorderPaint(Paint paint)
Sets the paint used to draw the chart border (if visible).
|
void | setBorderStroke(Stroke stroke)
Sets the stroke used to draw the chart border (if visible).
|
void | setBorderVisible(boolean visible)
Sets a flag that controls whether or not a border is drawn around the
outside of the chart.
|
void | setNotify(boolean notify)
Sets a flag that controls whether or not listeners receive
ChartChangeEvent notifications.
|
void | setPadding(RectangleInsets padding)
Sets the padding between the chart border and the chart drawing area,
and sends a ChartChangeEvent to all registered listeners.
|
void | setRenderingHints(RenderingHints renderingHints)
Sets the rendering hints for the chart. |
void | setSubtitles(List subtitles)
Sets the title list for the chart (completely replaces any existing
titles) and sends a ChartChangeEvent to all registered
listeners.
|
void | setTextAntiAlias(boolean flag)
Sets the value in the rendering hints table for
RenderingHints#KEY_TEXT_ANTIALIASING to either
RenderingHints#VALUE_TEXT_ANTIALIAS_ON or
RenderingHints#VALUE_TEXT_ANTIALIAS_OFF, then sends a
ChartChangeEvent to all registered listeners.
|
void | setTextAntiAlias(Object val)
Sets the value in the rendering hints table for
RenderingHints#KEY_TEXT_ANTIALIASING and sends a
ChartChangeEvent to all registered listeners.
|
void | setTitle(TextTitle title)
Sets the main title for the chart and sends a ChartChangeEvent
to all registered listeners. |
void | setTitle(String text)
Sets the chart title and sends a ChartChangeEvent to all
registered listeners. |
void | titleChanged(TitleChangeEvent event)
Receives notification that a chart title has changed, and passes this
on to registered listeners.
|
Parameters: plot the plot (null
not permitted).
Parameters: title the chart title (null
permitted). plot the plot (null
not permitted).
createLegend
argument specifies whether or not a legend
should be added to the chart.
Parameters: title the chart title (null
permitted). titleFont the font for displaying the chart title
(null
permitted). plot controller of the visual representation of the data
(null
not permitted). createLegend a flag indicating whether or not a legend should
be created for the chart.
Parameters: listener the listener (null
not permitted).
See Also: removeChangeListener
Parameters: legend the legend (null
not permitted).
See Also: removeLegend
Parameters: listener the object being registered.
See Also: removeProgressListener
Parameters: subtitle the subtitle (null
not permitted).
See Also: JFreeChart
Parameters: index the index (in the range 0 to getSubtitleCount). subtitle the subtitle to add (null
not permitted).
Since: 1.0.6
See Also: addSubtitle
Returns: A clone.
Throws: CloneNotSupportedException if the chart is not cloneable.
Parameters: width the width. height the height.
Returns: A buffered image.
Parameters: width the width. height the height. info carries back chart state information (null
permitted).
Returns: A buffered image.
Parameters: width the width. height the height. imageType the image type. info carries back chart state information (null
permitted).
Returns: A buffered image.
Parameters: imageWidth the image width. imageHeight the image height. drawWidth the width for drawing the chart (will be scaled to fit image). drawHeight the height for drawing the chart (will be scaled to fit image). info optional object for collection chart dimension and entity information.
Returns: A buffered image.
This method is the focus of the entire JFreeChart library.
Parameters: g2 the graphics device. area the area within which the chart should be drawn.
Parameters: g2 the graphics device. area the area within which the chart should be drawn. info records info about the drawing (null means collect no info).
This method is the focus of the entire JFreeChart library.
Parameters: g2 the graphics device. chartArea the area within which the chart should be drawn. anchor the anchor point (in Java2D space) for the chart
(null
permitted). info records info about the drawing (null means collect no info).
Parameters: t the title (null
not permitted). g2 the graphics device (null
not permitted). area the chart area, excluding any existing titles
(null
not permitted). entities a flag that controls whether or not an entity
collection is returned for the title.
Returns: An entity collection for the title (possibly null
).
Parameters: obj the object (null
permitted).
Returns: A boolean.
This method is for convenience only.
Returns: The flag.
See Also: JFreeChart
null
if
there is no image.
Returns: The image (possibly null
).
See Also: setBackgroundImage
org.jfree.ui.Align
class in the JCommon class
library.
Returns: The alignment.
See Also: JFreeChart
Returns: The alpha-transparency.
See Also: JFreeChart
Returns: The paint (possibly null
).
See Also: setBackgroundPaint
Returns: The border paint.
See Also: setBorderPaint
Returns: The border stroke.
See Also: setBorderStroke
NOTE: if the plot is not an instance of CategoryPlot, then a
ClassCastException
is thrown.
Returns: The plot.
See Also: getPlot
Returns: The legend (possibly null
).
See Also: JFreeChart
null
.
Parameters: index the legend index (zero-based).
Returns: The legend (possibly null
).
See Also: addLegend
Returns: The padding (never null
).
See Also: setPadding
Returns: The plot.
Returns: The rendering hints for the chart (never null
).
See Also: setRenderingHints
Parameters: index the index of the chart subtitle (zero based).
Returns: A chart subtitle.
See Also: addSubtitle
Returns: The number of titles for the chart.
See Also: getSubtitles
Returns: The subtitle list (possibly empty, but never null
).
See Also: setSubtitles
Returns: The hint value (possibly null
).
Since: 1.0.5
See Also: setTextAntiAlias
Returns: The chart title (possibly null
).
See Also: setTitle
NOTE: if the plot is not an instance of XYPlot, then a
ClassCastException
is thrown.
Returns: The plot.
See Also: getPlot
Parameters: x x-coordinate of the click (in Java2D space). y y-coordinate of the click (in Java2D space). info contains chart dimension and entity information
(null
not permitted).
Returns: A boolean.
See Also: JFreeChart
Returns: A boolean.
See Also: JFreeChart
Parameters: args no arguments are honored.
Parameters: event information about the event that triggered the notification.
Parameters: event information about the event that triggered the notification.
Parameters: event information about the plot change.
Parameters: listener the listener (null
not permitted)
See Also: addChangeListener
See Also: getLegend
Parameters: listener the object being deregistered.
See Also: addProgressListener
Parameters: title the title.
See Also: addSubtitle
Anti-aliasing usually improves the appearance of charts, but is slower.
Parameters: flag the new value of the flag.
See Also: getAntiAlias
Parameters: image the image (null
permitted).
See Also: getBackgroundImage
Parameters: alignment the alignment.
See Also: getBackgroundImageAlignment
Parameters: alpha the alpha value.
See Also: getBackgroundImageAlpha
Parameters: paint the paint (null
permitted).
See Also: getBackgroundPaint
Parameters: paint the paint.
See Also: getBorderPaint
Parameters: stroke the stroke.
See Also: getBorderStroke
Parameters: visible the flag.
See Also: isBorderVisible
Parameters: notify a boolean.
See Also: isNotify
Parameters: padding the padding (null
not permitted).
See Also: getPadding
Parameters: renderingHints the rendering hints (null
not
permitted).
See Also: getRenderingHints
Parameters: subtitles the new list of subtitles (null
not
permitted).
See Also: getSubtitles
Parameters: flag the new value of the flag.
Since: 1.0.5
See Also: getTextAntiAlias setTextAntiAlias
Parameters: val the new value (null
permitted).
Since: 1.0.5
See Also: getTextAntiAlias JFreeChart
null
. If you want more than one title on
a chart, use the addSubtitle method.
Parameters: title the title (null
permitted).
See Also: getTitle
text
is null
the chart
title is set to null
.
Parameters: text the title text (null
permitted).
See Also: getTitle
Parameters: event information about the chart title change.