目录

参考 API(Referenced APIs)

优质
小牛编辑
134浏览
2023-12-01

在本章中,我们将讨论JFreeChart库中的一些重要包,类和方法。 使用JFreeChart库创建各种图表时,最常使用这些包,类和方法。

ChartFactory类

ChartFactory是org.jfree.chart包下的抽象类。 它提供了一组用于生成标准图表的实用方法。

以下是一些重要方法的列表 -

类构造函数 (Class Constructor)

S.No描述
1

ChartFactory()

ChartFactory类的默认构造函数。

类方法 (Class Methods)

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 dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls)

此方法使用默认设置基于XYDataset创建折线图。

ChartFrame类

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

类构造函数 (Class Constructor)

S.No构造函数和描述
1

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

它构造了一个框架。

2

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

它构造了一个框架。

类方法 (Class Method)

S.No方法和描述
1

getChartPanel()

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

ChartPanel类

org.jfree.chart包中的ChartPanel类用作显示JfreeChart对象的swing GUI组件。

类构造函数 (Class Constructor)

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面板。

类方法 (Class Method)

S.No方法和描述
1

setPreferredSize(java.awt.Dimension)

此方法用于使用java.awt设置帧大小。 Dimension类对象作为参数。 此方法取自javax.swing.JComponent。

ChartUtilities Class

org.jfree.chart包中的CharUtilites类提供了一组JFreeCharts实用程序方法,包括将图表转换为图像文件格式(如PNG,JPEG和创建HTML图像映射)的方法。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

ChartUtilities()

这是类的默认构造函数

类方法 (Class Method)

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图。

类构造函数 (Class Constructor)

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)

此构造函数使用给定的标题和绘图创建新图表。

类方法 (Class Method)

S.No方法和描述
1

getXYPlot()

此方法将绘图图表作为XYPlot返回。 使用XYPolt,我们可以在xy图表上执行一些实用程序操作。

PiePlot类

该类是org.jfree.chart.plot包的一部分,并从同一个包中扩展Plot类。 此类提供了创建饼图的方法。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

PiePlot()

它创造了一个新的情节。

2

PiePlot(PieDataset dataset)

它会创建一个绘制指定数据集的饼图的图。

类方法 (Class Method)

S.No方法和描述
1

setStartAngle(double angle)

此方法设置起始角度并将PlotChangeEvent发送给所有已注册的侦听器

PiePlot3D类

PiePlot3D类是同一个包下的PiePlot类的子类。 因此,此类具有与PiePlot类相同的功能,但它用于创建3D绘图。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

PiePlot3D()

此构造函数创建一个没有数据集的新实例。

2

PiePlot3D(PieDataset dataset)

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

类方法 (Class Method)

S.No方法和描述
1

setForegroundAlpha(float alpha)

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

2

setInteriorGap(double percent)

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

PlotOrientation类

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

现场总结

S.No类型领域和描述
1PlotOrientationHORIZONTAL对于范围轴(Y轴)水平的绘图。
2PlotOrientationVERTICAL对于范围轴(Y轴)垂直的图。 这是默认方向。

类方法 (Class Method)

S.No方法和描述
1

isHorizontal()

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

2

isVertical()

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

XYPlot类

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

类构造函数 (Class Constructor)

S.No构造函数和描述
1

XYPlot()

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

2

XYPlot(XYDataset dataset, ValueAxis domainAxis, ValueAxis rangeAxis, XYItemRenderer渲染器)

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

类方法 (Class Method)

S.No方法和描述
1

setRenderer(XYItemRenderer渲染器)

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

NumberAxis类

该类在org.jfree.chart.axis包中提供,它可以访问任何轴的数值数据。 当我们将任何轴的范围设置为默认值时,它会根据数据范围进行拟合。 但是使用NumberAxis,类我们可以设置域和范围轴的下边距和上边距。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

NumberAxis( )

这是NumberAxis的默认构造函数。

2

NumberAxis( java.lang.String label)

构造函数NumberAxis在必要时使用默认值。

类方法 (Class Method)

S.No方法和描述
1

setLowerMargin(double margin)

它设置轴的下边距(作为轴范围的百分比),并将AxisChangeEvent发送给所有已注册的侦听器。 此方法取自ValueAxis类的父类。

2

setUpperMargin(double margin)

它设置轴的上边距(作为轴范围的百分比),并将AxisChangeEvent发送给所有已注册的侦听器。 此方法也存在于ValueAxis类中。

XYLineAndShapeRenderer类

这是org.jfree.chart.renderer.xy包下的类,它负责使用行连接数据点并在每个数据点绘制形状。 此渲染器类设计用于XYPlot类。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

XYLineAndShapeRenderer()

它创建了一个可见的线条和形状的新渲染器。

2

XYLineAndShapeRenderer (布尔线,布尔形状)

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

类方法 (Class Method)

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 (PieDataset)

这是一个用作通用数据集的接口,其中值与键相关联。 顾名思义,您可以使用此数据集为饼图提供数据。 此接口扩展了KeyedValues和DataSet接口。 用于此接口的所有方法都取自KeyedValues,Values和Dataset接口。

DefaultPieDataset类

这是PieDataset接口的Default实现类。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

DefaultPieDataset()

此构造函数创建一个新数据集,最初为空。

2

DefaultPieDataset(KeyedValues data)

它通过从KeyedValues实例复制数据来创建新数据集。

类方法 (Class Method)

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接口的默认实现类。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

DefaultCategoryDataset()

此构造函数创建新的空数据集。

类方法 (Class Method)

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以表示缺失值。

类构造函数 (Class Constructor)

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

类方法 (Class Method)

S.No方法和描述
1

add(double x, double y)

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

上面的方法用于教程示例中。 如果您想了解其余的方法和字段,请参阅JFreeChart API。

XYSeriesCollection

XYSeriesCollection类具有父类,如AbstractIntervelDataset,AbstractXYDatset,AbstractSeriesDataset和AbstractDataset。 此类中的某些方法属于此类的父类。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

XYSeriesCollection()

它构造一个空数据集。

2

XYSeriesCollection(XYSeries xyseries)

它构造一个数据集并用一个系列填充它。

类方法 (Class Method)

S.No方法和描述
1

addSeries(XYSeries series)

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

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

默认XYZDataset

DefaultXYZDataset类具有父类,如AbstractIntervelDataset,AbstractXYDatset,AbstractSeriesDataset,AbstractDataset和AbstractXYZDataset。 此类中的某些方法属于此类的父类。

类构造函数

S.No构造函数和描述
1

DefaultXYZDataset()

它构造一个空数据集。

类方法 (Class Method)

S.No方法和描述
1

addSeries(java.lang.Comparable seriesKey, double[ ][ ] data )

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

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

JFreeCharts中的时间序列

包是org.jfree.data.time 。 该包包含类和接口,用于与时间相关的数据。

TimeSeries

此类以周期值的形式表示一系列数据项,其中period是RegularTimePeriod抽象类的某个实例,例如Time,Day,Hour,Minute和Second类。

类构造函数 (Class Constructor)

S.No构造函数和描述
1

TimeSeries(java.lang.Comparable name)

它创造了新的空系列。

2

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

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

类方法 (Class Method)

S.No方法和描述
1

add(RegularTimePeriod period,double value)

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

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

TimeSeriesCollection

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

类构造函数 (Class Constructor)

S.No构造函数和描述
1

TimeSeriesCollection()

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

2

TimeSeriesCollection(TimeSeries系列)

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

3

TimeSeriesCollection(TimeSeries系列,java.util.TimeZone区域)

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

4

TimeSeriesCollection (java.util.TimeZone zone)

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

类方法 (Class Method)

S.No方法和描述
1

addSeries(TimeSeries系列)

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

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

Second

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

类构造函数 (Class Constructor)

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)

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

类方法 (Class Method)

S.No方法和描述
1

getSecond()

它在一分钟内返回第二个。

2

next()

它返回当前秒之后的第二个。

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

JFreeCharts中的框架

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

ApplicationFrame

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

类构造函数 (Class Constructor)

S.No构造函数和描述
1

ApplicationFrame(java.lang.String title)

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

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

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

RefineryUtilities (RefineryUtilities)

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

类方法 (Class Method)

S.No方法和描述
1

centerFrameOnScreen(java.awt.Window frame)

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

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