开发手册 欢迎您!
软件开发者资料库

JFreeChart - 参考API

JFreeChart参考API - 从概述开始,简单易学地学习JFreeChart Concepts,然后介绍JFreeChart安装,参考API,JFreeChart架构,饼图,条形图,折线图,XY图表,3D饼图/条形图,气泡图,时间系列图表,JFreeChart文件和JFree图表数据库等

在本章中,我们将讨论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上的值的标签-axis.参数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类

组织下的ChartFrame类. jfree.chart包,提供所有与框架相关的功能和实用程序. ChartFrame类从父类(如Frame,Window,Container和Component类)继承功能.

类构造函数

S.No构造函数和描述
1

ChartFrame(java.lang.Frame String,JfreeChart chart)

它构造一个框架.

2

Chart Frame (java.lang.Frame String, JfreeChart chart, boolean scrollpane)

它构造一个框架.

类方法

S.No方法和描述
1

getChartPanel()

此方法返回框架的图表面板.

ChartPanel Class

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 Class

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数据集)

此构造函数使用指定的数据集创建具有三维效果的饼图.

类方法

S.No方法和描述
1

setForegroundAlpha(float alpha)

它为绘图设置alpha透明度,并向所有已注册的侦听器发送PlotChangeEvent.这取自其中一个父Plot类.

2

PiePlot3D(PieDataset dataset)

它设定内部差距并向所有已注册的侦听器发送PlotChangeEvent.这控制饼图的边缘和绘图区域本身之间的空间(即,部分标签出现的区域).此方法取自父类PiePlot.

PlotOrientation Class

这是 org.jfree.chart.plot 包中提供的序列化类,它用于显示2D绘图的方向.方向可以是垂直水平.它设置Y轴的方向.传统绘图具有垂直Y轴.

字段摘要

S.No输入Field&描述
1PlotOrientation HORIZONTAL 对于范围轴(Y)的绘图-axis)是水平的.
2PlotOrientation VERTICAL 对于情节范围轴(Y轴)是垂直的.这是默认方向.

类方法

S.No方法和描述
1

isHorizontal()

如果此方向为HORIZONTAL,则此方法返回true,否则返回false.

2

isVertical()

如果此方向为VERTICAL,则此方法返回true,否则返回false.

XYPlot类

这是 org.jfree.chart.plot 中提供的通用类包,它用于(x,y)对形式的绘图数据.此图可以使用来自实现XYDataSet接口的任何其他类的数据. XYPlot使用XYItemRenderer绘制绘图上的每个点.

类构造函数

S.No构造函数和描述
1

XYPlot()

此承包商创建一个没有数据集,没有轴和渲染器的新XYPlot实例.

2

XYPlot(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer renderer)

这构造函数使用指定的数据集,轴和渲染器创建新绘图.

类方法

S.No方法和描述
1

setRenderer(XYItemRenderer 渲染器)

此方法设置主数据集的渲染器并向所有人发送更改事件已注册的听众.

NumberAxis Class

此课程是在 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 (boolean lines, boolean shapes)

它创建一个具有特定属性的新渲染器.

类方法

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 general数据集

这是一个用于在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 Class

这是一个异常类.它引发了数据集中数据的时间序列中发生的异常.发生重复或无效数据时会出现例外情况.时间序列不能与重复项一起应用,格式必须有效.

DefaultCategoryDataset

这是CategoryDataset接口的默认实现类./p>

类构造函数

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系列有限公司ntains没有数据.

类方法

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系列)

此方法向集合添加一个系列,并向所有已注册的侦听器发送 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.NoConstructor and Description
1

TimeSeries(java.lang.Comparable name)

它创造了新的空系列。

2

TimeSeries(java.lang.Comarable name, java.lang.String domain, java.lang.Strin range)  

它创建了不包含任何数据的新时间序列。

Class Method

S.NoMethod and Description
1

add(RegularTimePeriod period,double value)

此方法将新数据项添加到系列中。

请参阅JFreeChart API以了解其余方法和字段。

TimeSeriesCollection

这是一个用作时间序列对象集合的类。 该类实现了XYDataset接口,并扩展了IntervelXYDataset接口。 这样可以方便地收集系列数据对象。

Class Constructor

S.NoConstructor and Description
1

TimeSeriesCollection()

它构造一个空数据集,绑定到默认时区。

2

TimeSeriesCollection(TimeSeries series)

它构造一个包含单个系列的数据集(可以添加更多),与默认时区绑定。

3

TimeSeriesCollection(TimeSeries series, java.util.TimeZone zone)

它构建一个包含单个系列的数据集(可以添加更多),并绑定到特定时区。

4

TimeSeriesCollection(java.util.TimeZone zone)

它构造一个空数据集,绑定到特定时区。

Class Method

S.NoMethod and Description
1

addSeries(TimeSeries series)

此方法向集合添加一个系列,并向所有已注册的侦听器发送DatasetChangeEvent。

有关其余方法和字段,请参阅JFreeChart API。

Second

这个类代表特定日期的第二个。 此类是不可变的,这是所有RegularTimePeriod子类的要求。

Class Constructor

S.NoConstructor and Description
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)

它构建了一个新的第二个。

Class Method

有关其余方法和字段,请参阅JFreeChart API。

Frames in JFreeCharts

包是org.jfree.ui。 这个包属于JFreeChart的JCommons API。 它包含用于为预配置图表创建框架的实用程序类。

ApplicationFrame

这是为简单应用程序创建主框架的基类。 框架侦听窗口关闭事件,并通过关闭JVM进行响应。 这适用于小型演示应用程序。 对于企业应用程序,您需要使用更强大的东西。 此类中的主要核心方法取自Component,Container,Window,Frame和Jframe类。

Class Constructor

S.NoConstructor & Description
1

ApplicationFrame(java.lang.String title)

它创建一个带有字符串标题的应用程序框架。

该类有助于创建AWT帧。 这就是我们在本教程示例中将此类用作超类的原因。

从父类中获取的方法用于打开框架,关闭框架,更改大小,更改背景或前景颜色以及侦听器。

RefineryUtilities

这是与用户界面相关的实用方法的类集合。

Class Method

S.NoMethod and Description
1

centerFrameOnScreen(java.awt.Window frame)

它将指定的帧定位在屏幕中间。

上面的方法用于教程示例中。 有关其余方法和字段,请参阅JFreeChart API。