- JFreeChart 教程
- JFreeChart - 首页
- JFreeChart - 概述
- JFreeChart - 安装
- JFreeChart - 架构
- JFreeChart - 参考 API
- JFreeChart - 饼图
- JFreeChart - 条形图
- JFreeChart - 折线图
- JFreeChart - XY 图
- JFreeChart - 3D 图表/条形图
- JFreeChart - 气泡图
- JFreeChart - 时间序列图
- JFreeChart - 文件接口
- JFreeChart - 数据库接口
- JFreeChart 有用资源
- JFreeChart - 快速指南
- JFreeChart - 有用资源
- JFreeChart - 讨论
JFreeChart - 参考 API
本章将讨论 JFreeChart 库中一些重要的包、类和方法。在使用 JFreeChart 库创建各种图表时,这些包、类和方法是最常用的。
ChartFactory 类
ChartFactory 是org.jfree.chart包下的一个抽象类。它提供了一组用于生成标准图表的实用程序方法。
以下是几个重要方法的列表:
类构造函数
序号 | 描述 |
---|---|
1 | ChartFactory() ChartFactory 类的默认构造函数。 |
类方法
序号 | 方法及描述 |
---|---|
1 | createPieChart(java.lang.String title, PieDataset dataset, boolean legend, boolean tooltips, boolean urls) 此方法使用默认设置创建一个饼图。它返回 JfreeChart 类型对象。 |
2 | createPieChart3D(java.lang.String title, PieDataset dataset, boolean legend, boolean tooltips, boolean urls) 此方法使用指定的 dataset 创建一个 3D 饼图。 |
3 | createBarChart(java.lang.String title, java.lang.String categoryAxisLabel, java.lang.String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 参数 java.lang.String categoryAxisLabel 是放置在 X 轴上的值的标签。参数 java.lang.String valueAxisLabel 是放置在 Y 轴上的值的标签。 此方法创建一个条形图。 |
4 | createBarChart3D(java.lang.String title, java.lang.String categoryAxisLabel, java.lang.String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 此方法创建一个具有 3D 效果的条形图。它返回 JfreeChart 类型对象。 |
5 | createLineChart(java.lang.String title, java.lang.String categoryAxisLabel, java.lang.String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 此方法使用默认设置创建一个折线图。 |
6 | createLineChart3D(java.lang.String title, java.lang.String categoryAxisLabel, java.lang.String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 此方法创建一个具有 3D 效果的折线图。 |
7 | createXYLineChart(java.lang.String title, java.lang.String xAxisLabel, java.lang.String yAxisLabel, XYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 此方法基于 XYDataset 创建一个具有默认设置的折线图。 |
ChartFrame 类
org.jfree.chart 包下的 ChartFrame 类提供了所有与框架相关的函数和实用程序。ChartFrame 类继承自父类,例如 Frame、Window、Container 和 Component 类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | ChartFrame (java.lang.Frame String, JfreeChart chart) 它构造一个框架。 |
2 | ChartFrame (java.lang.Frame String, JfreeChart chart, boolean scrollpane) 它构造一个框架。 |
类方法
序号 | 方法和描述 |
---|---|
1 | getChartPanel() 此方法返回框架的图表面板。 |
ChartPanel 类
来自org.jfree.chart包的 ChartPanel 类用作 Swing GUI 组件,用于显示 JfreeChart 对象。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | ChartPanel(JFreeChart chart) 此构造函数构造一个显示指定图表的 panel。 |
2 | ChartPanel(JFreeChart chart, boolean useBuffer) 此构造函数构造一个包含图表的 panel。 |
3 | ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips) 此构造函数构造一个 JFreeChart panel。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setPreferredSize(java.awt.Dimension) 此方法用于使用 java.awt.Dimension 类对象作为参数来设置框架大小。此方法取自 javax.swing.JComponent。 |
ChartUtilities 类
来自org.jfree.chart包的 CharUtilites 类提供了一组 JFreeCharts 的实用程序方法,包括将图表转换为图像文件格式(如 PNG、JPEG)以及创建 HTML 图像地图的方法。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | ChartUtilities() 这是类的默认构造函数 |
类方法
序号 | 方法和描述 |
---|---|
1 | saveChartAsPNG(java.io.File file, JfreeChart chart, int width, int height) 此方法将图表转换为 PNG 格式并保存到指定文件。 |
2 | saveChartAsJPEG(java.io.File file, JfreeChart chart, int width, int height) 此方法将图表转换为 JPEG 格式并保存到指定文件。 |
JFreeChart 类
JFreeChart 类是org.jfree.chart包下的核心类。此类提供 JFreeChart 方法来创建条形图、折线图、饼图和 xy 图,包括时间序列数据。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | JfreeChart(Plot plot) 此构造函数基于提供的 plot 创建一个新图表。 |
2 | JfreeChart(java.lang.String title, java.awt.Font titleFont, Plot plot, boolean createLegend) 此构造函数使用给定的标题和 plot 创建一个新图表。 |
3 | JfreeChart(java.lang.String title, Plot plot) 此构造函数使用给定的标题和 plot 创建一个新图表。 |
类方法
序号 | 方法和描述 |
---|---|
1 | getXYPlot() 此方法将图表 plot 作为XYPlot返回。使用 XYPolt,我们可以对 xy 图表进行一些实用程序操作。 |
PiePlot 类
此类是org.jfree.chart.plot包的一部分,并扩展了同一包中的 Plot 类。此类提供创建饼图的方法。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | PiePlot() 它创建一个新的 plot。 |
2 | PiePlot(PieDataset dataset) 它创建一个绘制指定数据集饼图的 plot。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setStartAngle(double angle) 此方法设置起始角度并向所有注册的监听器发送 PlotChangeEvent。 |
PiePlot3D 类
PiePlot3D 类是同一包下 PiePlot 类的子类。因此,此类具有与 PiePlot 类相同的特性,只是它用于创建 3D 图表。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | PiePlot3D() 此构造函数创建一个没有数据集的新实例。 |
2 | PiePlot3D(PieDataset dataset) 此构造函数使用指定的数据集创建一个具有三维效果的饼图。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setForegroundAlpha(float alpha) 它设置图表的 alpha 透明度,并向所有注册的监听器发送 PlotChangeEvent。这取自父类 Plot 类之一。 |
2 | setInteriorGap(double percent) 它设置内部间隙并向所有注册的监听器发送 PlotChangeEvent。这控制饼图边缘和绘图区域本身(即节标签显示的区域)之间的空间。此方法取自父类 PiePlot。 |
PlotOrientation 类
这是一个可用于org.jfree.chart.plot包中的序列化类,用于显示二维图表的方位。方位可以是垂直或水平。它设置 Y 轴的方位。常规图表的 Y 轴是垂直的。
字段摘要
序号 | 类型 | 字段及描述 |
---|---|---|
1 | PlotOrientation | HORIZONTAL 对于范围轴(Y 轴)为水平的图表。 |
2 | PlotOrientation | VERTICAL 对于范围轴(Y 轴)为垂直的图表。这是默认方位。 |
类方法
序号 | 方法和描述 |
---|---|
1 | isHorizontal() 如果此方位为 HORIZONTAL,则此方法返回 true,否则返回 false。 |
2 | isVertical() 此方法如果此方位为 VERTICAL,则返回 true,否则返回 false。 |
XYPlot 类
这是一个可用于org.jfree.chart.plot包中的通用类,用于绘制 (x,y) 对形式的数据。此图表可以使用实现 XYDataSet 接口的任何其他类的数 据。XYPlot 使用 XYItemRenderer 绘制图表上的每个点。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | XYPlot() 此构造函数创建一个没有数据集、没有轴和没有渲染器的新 XYPlot 实例。 |
2 | XYPlot(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer renderer) 此构造函数使用指定的数据集、轴和渲染器创建一个新的 plot。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setRenderer(XYItemRenderer renderer) 此方法设置主数据集的渲染器,并向所有注册的监听器发送更改事件。 |
NumberAxis 类
此类位于org.jfree.chart.axis包中,可以访问任何轴的数值数据。当我们将任何轴的范围设置为默认值时,它会根据数据的范围进行调整。但是,使用 NumberAxis 类,我们可以设置域和范围轴的下限和上限。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | NumberAxis( ) 这是 NumberAxis 的默认构造函数。 |
2 | NumberAxis( java.lang.String label) 构造函数 NumberAxis 在必要时使用默认值。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setLowerMargin(double margin) 它设置轴的下限(作为轴范围的百分比),并向所有注册的监听器发送AxisChangeEvent。此方法取自 ValueAxis 类的父类。 |
2 | setUpperMargin(double margin) 它设置轴的上限(作为轴范围的百分比),并向所有注册的监听器发送AxisChangeEvent。此方法也存在于 ValueAxis 类中。 |
XYLineAndShapeRenderer 类
这是位于org.jfree.chart.renderer.xy包中的类,负责用线连接数据点并在每个数据点处绘制形状。此渲染器类旨在与XYPlot类一起使用。
类构造函数
序号 | 构造函数及描述 |
---|---|
1 | XYLineAndShapeRenderer() 它创建一个新的渲染器,其中线条和形状都可见。 |
2 | XYLineAndShapeRenderer (boolean lines, boolean shapes) 它创建一个具有特定属性的新渲染器。 |
类方法
序号 | 方法和描述 |
---|---|
1 | setSeriesPaint(int series, java.awt.Paint paint) 此方法设置用于系列的绘制颜色,并向所有注册的监听器发送RendererChangeEvent。此方法取自 JFreeChart API 中 renderer 包的 AbstratRenderer 抽象类。 |
2 | setSeriesStroke(int series, java.awt.Stroke stroke) 此方法设置用于系列的笔触,并向所有注册的监听器发送RendererChangeEvent。此方法取自 AbstratRenderer 抽象类,它是此包的超类。 |
XYItemRenderer 通用数据集
这是用于渲染 XYPlot 上单个 (x, y) 项目格式的接口。该包是org.Jfree.data.general,其中包含用于定义不同类型的数据集以构建图表的类和接口。
PieDataset
这是一个用作通用数据集的接口,其中值与键关联。顾名思义,您可以使用此数据集为饼图提供数据。此接口扩展了 KeyedValues 和 DataSet 接口。此接口使用的方法全部取自 KeyedValues、Values 和 Dataset 接口。
DefaultPieDataset 类
这是 PieDataset 接口的默认实现类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | DefaultPieDataset() 此构造函数创建一个新的数据集,最初为空。 |
2 | DefaultPieDataset(KeyedValues data) 它通过从KeyedValues实例复制数据来创建一个新的数据集。 |
类方法
序号 | 方法及描述 |
---|---|
1 | setValue(java.lang.Comparable key, double value) 它设置键的数据值,并向所有注册的监听器发送DatasetChangeEvent。 |
2 | setValue(java.lang.Comparable key, java.lang.Number value) 它设置键的数据值,并向所有注册的监听器发送DatasetChangeEvent。 |
SeriesException 类
这是一个异常类。它引发在数据集数据时间序列中发生的异常。在出现重复或无效数据时会引发异常。时间序列不能应用重复项,并且格式必须有效。
DefaultCategoryDataset
这是 CategoryDataset 接口的默认实现类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | DefaultCategoryDataset() 此构造函数创建一个新的空数据集。 |
类方法
序号 | 方法和描述 |
---|---|
1 | addValue(double value, java.lang.Comparable rowKey, java.lang.Comparable columnKey) 此方法使用可比较的键将值添加到表中。 |
2 | addValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey) 此方法向表格添加一个值。 |
3 | setValue(double value, java.lang.Comparable rowKey, java.lang.Comparable columnKey) 此方法添加或更新表格中的值,并向所有已注册的监听器发送一个DatasetChangeEvent。 |
4 | setValue(java.lang.Number value, java.lang.Comparable rowKey, java.lang.Comparable columnKey) 此方法添加或更新表格中的值,并向所有已注册的监听器发送一个DatasetChangeEvent。 |
有关其他各种方法和字段的更多信息,请参阅JFreeChart API。
系列数据集 (Series Datasets)
系列数据集由XY图表使用。其包名为org.jfree.data.xy,包含属于XY图表的类和接口。核心接口是XYDataset。
XYDataset
这是一个接口,可以通过它访问(x,y)项形式的数据。顾名思义,您可以使用此数据集来服务XY图表。此接口中的某些方法取自SeriesDataset接口。
XYZDataset
这是一个接口,可以通过它访问(x,y,z)项形式的数据。顾名思义,您可以使用此数据集来服务XYZ图表。此接口中的某些方法取自SeriesDataset。
XYSeries
这是一个类,它表示(x, y)形式的零个或多个数据项的序列。默认情况下,系列中的项按x值升序排序,并允许重复的x值。排序和重复默认值都可以在构造函数中更改。Y值可以表示为null以表示缺失值。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | XYSeries(java.lang.Comparable key) 此构造函数创建一个新的空系列。 |
2 | XYSeries(java.lang.Comparable key, boolean autoSort) 它构造一个新的空系列,自动排序标志按要求设置,并允许重复值。 |
3 | XYSeries(java.lang.Comparable key, boolean autoSort, boolean allowDuplicateXValues) 它构造一个不包含任何数据的新的xy系列。 |
类方法
序号 | 方法和描述 |
---|---|
1 | add(double x, double y) 此方法将数据项添加到系列中。 |
上述方法在教程示例中使用。如果您想了解其余的方法和字段,请参阅JFreeChart API。
XYSeriesCollection
XYSeriesCollection类具有诸如AbstractIntervalDataset、AbstractXYDataset、AbstractSeriesDataset和AbstractDataset之类的父类。此类中的某些方法属于其父类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | XYSeriesCollection() 它构造一个空数据集。 |
2 | XYSeriesCollection(XYSeries xyseries) 它构造一个数据集并用单个系列填充它。 |
类方法
序号 | 方法和描述 |
---|---|
1 | addSeries(XYSeries series) 此方法向集合添加一个系列,并向所有已注册的监听器发送一个DatasetChangeEvent。 |
有关其余方法和字段,请参阅JFreeChart API。
默认XYZ数据集 (Default XYZDataset)
DefaultXYZDataset类具有诸如AbstractIntervalDataset、AbstractXYDataset、AbstractSeriesDataset、AbstractDataset和AbstractXYZDataset之类的父类。此类中的某些方法属于其父类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | DefaultXYZDataset() 它构造一个空数据集。 |
类方法
序号 | 方法和描述 |
---|---|
1 | addSeries(java.lang.Comparable seriesKey, double[][] data) 此方法向集合添加一个系列,并向所有已注册的监听器发送一个DatasetChangeEvent。 |
有关其余方法和字段,请参阅JFreeChart API。
JFreeCharts中的时间序列 (Time Series in JFreeCharts)
其包名为org.jfree.data.time。此包包含用于时间相关数据的类和接口。
TimeSeries
此类表示周期值形式的数据项序列,其中周期是RegularTimePeriod抽象类的某个实例,例如Time、Day、Hour、Minute和Second类。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | TimeSeries(java.lang.Comparable name) 它创建一个新的空系列。 |
2 | TimeSeries(java.lang.Comparable name, java.lang.String domain, java.lang.String range) 它创建一个不包含任何数据的新时间序列。 |
类方法
序号 | 方法和描述 |
---|---|
1 | add(RegularTimePeriod period, double value) 此方法向系列添加一个新的数据项。 |
有关其余方法和字段,请参阅JFreeChart API。
TimeSeriesCollection
这是一个用作时间序列对象集合的类。此类实现了XYDataset接口,并扩展了IntervalXYDataset接口。这使得收集系列数据对象非常方便。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | TimeSeriesCollection() 它构造一个空数据集,绑定到默认时区。 |
2 | TimeSeriesCollection(TimeSeries series) 它构造一个包含单个系列(可以添加更多)的数据集,绑定到默认时区。 |
3 | TimeSeriesCollection(TimeSeries series, java.util.TimeZone zone) 它构造一个包含单个系列(可以添加更多)的数据集,绑定到特定时区。 |
4 | TimeSeriesCollection(java.util.TimeZone zone) 它构造一个空数据集,绑定到特定时区。 |
类方法
序号 | 方法和描述 |
---|---|
1 | addSeries(TimeSeries series) 此方法向集合添加一个系列,并向所有已注册的监听器发送一个DatasetChangeEvent。 |
有关其余方法和字段,请参阅JFreeChart API。
Second
此类表示特定日期中的秒。此类是不可变的,这是所有RegularTimePeriod子类的要求。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | Second() 它基于系统日期/时间构造一个新的Second。 |
2 | Second(java.util.Date time) 它根据指定的日期/时间和默认时区构造一个新的实例。 |
3 | Second(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale) 它根据提供的日期时间和时区创建一个新的秒。 |
4 | Second(int second, int minute, int hour, int day, int month, int year) 它创建一个新的秒。 |
5 | Second(int second, Minute minute) 它构造一个新的Second。 |
类方法
序号 | 方法和描述 |
---|---|
1 | getSecond() 它返回分钟内的秒。 |
2 | next() 它返回当前秒之后的下一秒。 |
有关其余方法和字段,请参阅JFreeChart API。
JFreeCharts中的框架 (Frames in JFreeCharts)
其包名为org.jfree.ui。这是属于JFreeChart的JCommons API的包。它包含用于为预配置图表创建框架的实用程序类。
ApplicationFrame
这是为简单的应用程序创建主框架的基类。框架侦听窗口关闭事件,并通过关闭JVM来响应。对于小型演示应用程序来说,这很好。对于企业应用程序,您需要使用更强大的东西。此类中的主要核心方法取自Component、Container、Window、Frame和JFrame类。
类构造函数
序号 | 构造函数及描述 |
---|---|
1 | ApplicationFrame(java.lang.String title) 它使用字符串标题创建一个应用程序框架。 |
此类有助于创建AWT框架。这就是为什么我们在本教程示例中使用此类作为超类的理由。
从父类继承的方法用于打开框架、关闭框架、更改大小、更改背景或前景颜色以及监听器。
RefineryUtilities
这是一个与用户界面相关的实用程序方法集合类。
类方法
序号 | 方法和描述 |
---|---|
1 | centerFrameOnScreen(java.awt.Window frame) 它将指定的框架定位在屏幕的中间。 |
上述方法在教程示例中使用。有关其余方法和字段,请参阅JFreeChart API。