JFreeChart - 参考 API
在本章中,我们将讨论 JFreeChart 库中的一些重要包、类和方法。这些包、类和方法是使用 JFreeChart 库创建各种图表时最常用的。
ChartFactory 类
ChartFactory 是 org.jfree.chart 包下的一个抽象类。它提供了一组用于生成标准图表的实用方法。
以下是一些重要方法的列表 −
类构造函数
S.No | 说明 |
---|---|
1 | ChartFactory() ChartFactory 类的默认构造函数。 |
类方法
S.No | 方法和说明 |
---|---|
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 此方法使用指定的数据集创建 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 数据集、PlotOrientation 方向、布尔图例、布尔工具提示、布尔 url) 此方法使用默认设置基于 XYDataset 创建折线图。 |
ChartFrame 类
org.jfree.chart 包下的 ChartFrame 类提供所有与框架相关的函数和实用程序。 ChartFrame 类从父类(例如 Frame、Window、Container 和 Component 类)继承功能。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | ChartFrame (java.lang.Frame String, JfreeChart chart) 它构造一个框架。 |
2 | Chart Frame (java.lang.Frame String, JfreeChart 图表,布尔滚动窗格) 它构造一个框架。 |
类方法
S.No | 方法和说明 |
---|---|
1 | getChartPanel() 此方法返回框架的图表面板。 |
ChartPanel 类
来自 org.jfree.chart 的 ChartPanel 类包用作显示 JfreeChart 对象的 swing GUI 组件。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | ChartPanel(JFreeChart chart) 此构造函数构造一个显示指定图表的面板。 |
2 | ChartPanel(JFreeChart chart, boolean useBuffer) 此构造函数构造一个包含图表的面板。 |
3 | ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips) 此构造函数构造一个 JFreeChart 面板。 |
类方法
S.No | 方法和说明 | 1 | setPreferredSize(java.awt.Dimension) 此方法用于使用 java.awt.Dimension 类对象作为参数来设置框架大小。此方法取自 javax.swing.JComponent。 |
---|
ChartUtilities 类
来自 org.jfree.chart 包的 CharUtilites 类提供了 JFreeCharts 的一组实用方法,包括将图表转换为 PNG、JPEG 等图像文件格式以及创建 HTML 图像映射的方法。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | ChartUtilities() 这是一个类的默认构造函数 |
类方法
S.No | 方法和说明 |
---|---|
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 图(包括时间序列数据)。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | JfreeChart(Plot plot) 此构造函数根据提供的图创建新图表。 |
2 | JfreeChart(java.lang.String title, java.awt.Font titleFont, Plot plot, boolean createLegend) 此构造函数使用给定的标题和图创建一个新图表。 |
3 | JfreeChart(java.lang.String title, Plot plot) 此构造函数使用给定的标题和图创建一个新图表。 |
类方法
S.No | 方法和说明 |
---|---|
1 | getXYPlot() 此方法将绘图图作为 XYPlot 返回。使用 XYPolt,我们可以对 xy 图表进行一些实用操作。 |
PiePlot 类
此类是 org.jfree.chart.plot 包的一部分,并从同一包中扩展了 Plot 类。此类提供创建饼图的方法。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | PiePlot() 它创建一个新的图。 |
2 | PiePlot(PieDataset dataset) 它创建一个图,为指定的数据集。 |
类方法
S.No | 方法和说明 |
---|---|
1 | setStartAngle(double angle) 此方法设置起始角度并向所有已注册的侦听器发送 PlotChangeEvent |
PiePlot3D 类
PiePlot3D 类是同一包下 PiePlot 类的子类。因此,此类具有与 PiePlot 类相同的功能,只是它用于创建 3D 图。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | PiePlot3D() 此构造函数创建一个没有数据集的新实例。 |
2 | PiePlot3D(PieDataset dataset) 此构造函数使用指定的数据集创建具有三维效果的饼图。 |
类方法
S.No | 方法和说明 |
---|---|
1 | setForegroundAlpha(float alpha) 它设置绘图的 alpha 透明度并向所有已注册的侦听器发送 PlotChangeEvent。这是从父 Plot 类之一中获取的。 |
2 | setInteriorGap(double percent) 它设置内部间隙并向所有已注册的侦听器发送 PlotChangeEvent。这控制饼图边缘与绘图区域本身之间的空间(即部分标签出现的区域)。此方法取自父类 PiePlot。 |
PlotOrientation 类
这是一个序列化类,可在 org.jfree.chart.plot 包中使用,用于显示 2D 图的方向。方向可以是 垂直 或 水平。它设置 Y 轴的方向。常规绘图具有垂直 Y 轴。
字段摘要
S.No | 类型 | 字段 &描述 |
---|---|---|
1 | PlotOrientation | HORIZONTAL 对于范围轴(Y 轴)为水平的绘图。 |
2 | PlotOrientation | VERTICAL 对于范围轴(Y 轴)为垂直的绘图。这是默认方向。 |
类方法
S.No | 方法和说明 |
---|---|
1 | isHorizontal() 如果此方向为水平方向,则此方法返回 true,否则返回 false。 |
2 | isVertical() 如果此方向为垂直方向,则此方法返回 true VERTICAL,否则为 false。 |
XYPlot 类
这是 org.jfree.chart.plot 包中提供的通用类,用于以 (x,y) 对的形式绘制数据。此绘图可以使用任何其他实现 XYDataSet 接口的类中的数据。 XYPlot 使用 XYItemRenderer 绘制图上的每个点。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | XYPlot() 此承包商创建一个没有数据集、没有轴和没有渲染器的新 XYPlot 实例。 |
2 | XYPlot(XYDataset 数据集, ValueAxis domainAxis、ValueAxis rangeAxis、XYItemRenderer renderer) 此构造函数使用指定的数据集、轴和渲染器创建一个新图。 |
类方法
S.No | 方法和说明 |
---|---|
1 | setRenderer(XYItemRenderer renderer) 此方法设置主数据集的渲染器,并向所有已注册的监听器。 |
NumberAxis 类
该类在 org.jfree.chart.axis 包中可用,它可以访问任何轴的数值数据。当我们将任何轴的范围设置为默认值时,它会根据数据的范围进行调整。但是使用 NumberAxis 类,我们可以设置域和范围轴的下边距和上边距。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | NumberAxis() 这是 NumberAxis 的默认构造函数。 |
2 | NumberAxis( java.lang.String label) 构造函数 NumberAxis 在必要时使用默认值。 |
类方法
S.No | 方法和说明 |
---|---|
1 | setLowerMargin(double margin) 它设置轴的下边距(作为轴范围的百分比)并向所有已注册的侦听器发送 AxisChangeEvent。此方法取自 ValueAxis 类的父类。 |
2 | setUpperMargin(double margin) 它设置轴的上边距(以轴范围的百分比表示),并向所有已注册的侦听器发送 AxisChangeEvent。此方法也存在于 ValueAxis 类中。 |
XYLineAndShapeRenderer 类
这是 org.jfree.chart.renderer.xy 包下提供的类,它负责将数据点与线连接起来并在每个数据点绘制形状。此渲染器类设计用于 XYPlot 类。
类构造函数
S.No | 构造函数 &描述 |
---|---|
1 | XYLineAndShapeRenderer() 它创建一个新的渲染器,其中线条和形状都可见。 |
2 | XYLineAndShapeRenderer (布尔线,布尔形状) 它创建一个具有特定属性的新渲染器。 |
类方法
S.No | 方法和说明 |
---|---|
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 接口的默认实现类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | DefaultPieDataset() 此构造函数创建一个新的数据集,最初为空。 |
2 | DefaultPieDataset(KeyedValues data) 它通过从 KeyedValues 实例复制数据来创建新的数据集。 |
类方法
S.No | 方法 &描述 |
---|---|
1 | setValue(java.lang.Comparable key, double value) 它设置一个键的数据值,并向所有已注册的侦听器发送 DatasetChangeEvent。 |
2 | setValue(java.lang.Comparable key, java.lang.Number value) 它设置一个键的数据值,并向所有已注册的侦听器发送 DatasetChangeEvent。 |
SeriesException 类
这是一个异常类。它会引发数据集中数据时间序列中发生的异常。出现重复或无效数据时会引发异常。时间序列不得重复应用,格式必须有效。
DefaultCategoryDataset
这是 CategoryDataset 接口的默认实现类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | DefaultCategoryDataset() 此构造函数创建新的空数据集。 |
类方法
S.No | 方法和说明 |
---|---|
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。
系列数据集
系列数据集由 XY 图表使用。包是 org.Jfree.data.xy,其中包含属于 xy 图表的类和接口。核心接口是 XYDataset。
XYDataset
这是一个可以访问 (x,y) 项形式的数据的接口。顾名思义,您可以使用此数据集来提供 XY 图表。此接口中的某些方法取自 SeriesDateset 接口。
XYZDataset
这是一个可以访问 (x,y,z) 项形式的数据的接口。顾名思义,您可以使用此数据集来提供 XYZ 图表。此接口中的某些方法取自 SeriesDateset。
XYSeries
这是一个类,表示形式为 (x, y) 的零个或多个数据项序列。默认情况下,系列中的项目按 x 值升序排列,并且允许重复的 x 值。排序和重复默认值都可以在构造函数中更改。 Y 值可以表示为 null,以表示缺失值。
类构造函数
S.No | 构造函数和说明 |
---|---|
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 系列。 |
类方法
S.No | 方法和说明 |
---|---|
1 | add(double x, double y) 此方法将数据项添加到系列中。 |
上述方法用于教程示例。如果您想了解其余方法和字段,请参考 JFreeChart API。
XYSeriesCollection
XYSeriesCollection 类有父类,如 AbstractIntervelDataset、AbstractXYDatset、AbstractSeriesDataset 和 AbstractDataset。此类中的某些方法属于此类的父类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | XYSeriesCollection() 它构造一个空数据集。 |
2 | XYSeriesCollection(XYSeries xyseries) 它构造一个数据集并填充它具有单个系列。 |
类方法
S.No | 方法和说明 |
---|---|
1 | addSeries(XYSeries series) 此方法将系列添加到集合并向所有已注册的侦听器发送 DatasetChangeEvent。 |
有关其余方法和字段,请参阅 JFreeChart API。
默认 XYZDataset
DefaultXYZDataset 类有父类,如 AbstractIntervelDataset、AbstractXYDatset、AbstractSeriesDataset、AbstractDataset 和 AbstractXYZDataset。此类中的某些方法属于此类的父类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | DefaultXYZDataset() 它构造一个空数据集。 |
类方法
S.No | 方法和说明 |
---|---|
1 | addSeries(java.lang.Comparable seriesKey, double[ ][ ] data ) 此方法将一个系列添加到集合中,并向所有已注册的侦听器发送 DatasetChangeEvent。 |
有关其余方法和字段,请参阅 JFreeChart API。
JFreeCharts 中的时间序列
包是 org.jfree.data.time。此包包含用于时间相关数据的类和接口。
TimeSeries
此类表示以周期值形式呈现的数据项序列,其中周期是 RegularTimePeriod 抽象类的某个实例,例如时间、天、小时、分钟和秒类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | TimeSeries(java.lang.Comparable name) 它创建新的空系列。 |
2 | TimeSeries(java.lang.Comarable name, java.lang.String domain, java.lang.Strin range) 它创建不包含任何数据的新时间序列。 |
类方法
S.No | 方法和说明 |
---|---|
1 | add(RegularTimePeriod period,double value) 此方法向系列添加新的数据项。 |
有关其余方法和字段,请参阅 JFreeChart API。
TimeSeriesCollection
这是一个用作时间序列对象集合的类。此类实现 XYDataset 接口,并扩展 IntervelXYDataset 接口。这使得收集系列数据对象变得很方便。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | TimeSeriesCollection() 它构造一个空数据集,与默认时区绑定。 |
2 | TimeSeriesCollection(TimeSeries series) 它构造一个包含单个系列(可以添加更多系列)的数据集,与默认时区绑定。 |
3 | TimeSeriesCollection(TimeSeries series, java.util.TimeZone zone) 它构建一个包含单个系列(可以添加更多)的数据集,与特定时区绑定。 |
4 | TimeSeriesCollection(java.util.TimeZone zone) 它构建一个空数据集,与特定时区绑定。 |
类方法
S.No | 方法和说明 |
---|---|
1 | addSeries(TimeSeries series) 此方法将一个系列添加到集合中,并向所有已注册的侦听器发送 DatasetChangeEvent。 |
请参阅 JFreeChart API 了解其余方法和字段。
Second
此类表示特定一天中的秒。此类是不可变的,这是所有 RegularTimePeriod 子类的要求。
类构造函数
S.No | 构造函数和说明 |
---|---|
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) 构造一个新的秒。 |
类方法
S.No | 方法和说明 |
---|---|
1 | getSecond() 返回一分钟内的秒数。 |
2 | next() 返回当前秒数之后的秒数。 |
请参阅 JFreeChart API 以了解其余方法和字段。
JFreeCharts 中的框架
包是 org.jfree.ui。这是属于 JFreeChart 的 JCommons API 的包。它包含用于创建预配置图表框架的实用程序类。
ApplicationFrame
这是用于创建简单应用程序主框架的基类。框架监听窗口关闭事件,并通过关闭 JVM 做出响应。这对于小型演示应用程序来说很好。对于企业应用程序,您需要使用更强大的东西。此类中的主要核心方法取自 Component、Container、Window、Frame 和 Jframe 类。
类构造函数
S.No | 构造函数和说明 |
---|---|
1 | ApplicationFrame(java.lang.String title) 它创建一个带有字符串标题的应用程序框架。 |
此类有助于创建 AWT 框架。这就是我们在本教程示例中使用此类作为超类的原因。
从父类中获取的方法用于打开框架、关闭框架、更改大小、更改背景或前景色以及监听器。
RefineryUtilities
这是一个与用户界面相关的实用方法的类集合。
类方法
S.No | 方法和说明 |
---|---|
1 | centerFrameOnScreen(java.awt.Window frame) 它将指定的框架定位在屏幕中间。 |
本教程示例中使用了上述方法。有关其余方法和字段,请参阅 JFreeChart API。