JFreeChart引用的API


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

ChartFactory类

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

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

类构造函数

S.No 描述
1 **ChartFactory的()** ChartFactory类的默认构造函数。

类方法

S.No 方法和说明
1 **createPieChart(java.lang.String标题,PieDataset数据集,布尔图例,布尔工具提示,布尔URL)** 此方法使用默认设置创建饼图。它返回JfreeChart类型的对象。
2 **createPieChart3D(java.lang.String标题,PieDataset数据集,布尔图例,布尔工具提示,布尔url** 此方法使用指定的数据集创建3D饼图。
3 **createBarChart(java.lang.String title,java.lang.String categoryAxisLabel,java.lang.String valueAxisLabel,CategoryDataset dataset,PlotOrientation orientation,boolean legend,boolean tooltips,boolean url)** 参数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 url)** 此方法创建具有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类)继承功能。

类构造函数

S.No 构造函数和说明
1 **ChartFrame(java.lang.Frame字符串,JfreeChart图表)** 它构建了一个框架。
2 **图表框架(java.lang.Frame字符串,JfreeChart图表,布尔滚动窗格)** 它构建了一个框架。

类方法

S.No 方法和描述
1 **getChartPanel()** 此方法返回框架的图表面板。

ChartPanel类

从ChartPanel类 org.jfree.chart 包被用作用于显示的JFreeChart对象摆动GUI部件。

类构造函数

S.No 构造函数和说明
1 **ChartPanel(JFreeChart图表)** 此构造函数构造一个显示指定图表的面板。
2 **ChartPanel(JFreeChart图表,布尔useBuffer)** 这个构造函数构造一个包含图表的面板。
3 **ChartPanel(JFreeChart图表,布尔型属性,布尔型保存,布尔型打印,布尔型缩放,布尔型工具提示)** 这个构造函数构造一个JFreeChart面板。

类方法

S.No 方法和描述
1 **有必要对setPreferredSize(java.awt.Dimension中)** 此方法用于使用java.awt设置帧大小。维度类对象作为参数。该方法取自javax.swing.JComponent。

ChartUtilities类

从CharUtilites类 org.jfree.chart 包提供的JFreeCharts包括用于转换成图表的图像文件格式,例如PNG,JPEG,以及创建HTML图像映射方法的实用方法的集合。

类构造函数

S.No 构造函数和说明
1 **ChartUtilities()** 这是一个类的默认构造函数

类方法

S.No 方法和描述
1 **saveChartAsPNG(java.io.File文件,JfreeChart图表,int宽度,int高度)** 此方法将图表转换并保存为PNG格式的指定文件。
2 **saveChartAsJPEG(java.io.File文件,JfreeChart图表,int宽度,int高度)** 此方法将图表转换并保存为JPEG格式的指定文件。

JFreeChart类

JFreeChart类是 org.jfree.chart 包下的核心类。此类提供JFreeChart方法来创建包括时间序列数据的条形图,折线图,饼图和xy图。

类构造函数

S.No 构造函数和说明
1 **JfreeChart(剧情阴谋)** 这个构造函数根据提供的绘图创建一个新的图表。
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数据集)** 它创建一个绘制指定数据集的饼图的图。

类方法

S.No 方法和描述
1 **setStartAngle(双角度)** 此方法设置起始角度并向所有注册的侦听器发送PlotChangeEvent

PiePlot3D类

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

类构造函数

S.No 构造函数和说明
1 **PiePlot3D()** 这个构造函数创建一个没有数据集的新实例。
2 **PiePlot3D(PieDataset数据集)** 此构造函数使用指定的数据集创建具有三维效果的饼图。

类方法

S.No 方法和描述
1 **setForegroundAlpha(float alpha)** 它为剧情设置alpha透明度,并向所有注册的侦听器发送PlotChangeEvent。这是从其中一个父绘图类中获取的。
2 **setInteriorGap(双重百分比)** 它设置内部差距并向所有注册的侦听器发送一个PlotChangeEvent。这将控制饼图边缘与绘图区域本身之间的空间(即区域标签出现的区域)。该方法取自父类PiePlot。

PlotOrientation类

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

字段摘要

S.No 类型 字段和说明
1 PlotOrientation **HORIZONTAL** 对于范围轴(Y轴)为水平的绘图。
2 PlotOrientation **垂直** 对于范围轴(Y轴)垂直的情节。这是默认方向。

类方法

S.No 方法和描述
1 **isHorizo​​ntal()** 如果此方向为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数据集,ValueAxis** domainAxis, **ValueAxis** rangeAxis, **XYItemRenderer** 渲染器) 该构造函数使用指定的数据集,轴和渲染器创建一个新图。

类方法

S.No 方法和描述
1 **setRenderer(XYItemRenderer** 渲染器) 此方法为主数据集设置呈示器,并向所有注册的侦听器发送更改事件。

NumberAxis类

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

类构造函数

S.No 构造函数和说明
1 **NumberAxis()** 这是NumberAxis的默认构造函数。
2 **NumberAxis(java.lang.String标签)** 构造函数NumberAxis在必要时使用默认值。

类方法

S.No 方法和描述
1 **setLowerMargin(双边距)** 它为轴设置较低的边界(作为轴范围的百分比),并向所有注册的侦听器发送 **AxisChangeEvent** 。此方法取自类ValueAxis的父类。
2 **setUpperMargin(双边距)** 它设置轴的上边距(作为轴范围的百分比),并向所有注册的侦听器发送 **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中渲染器包中的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数据)** 它通过从 **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值,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值,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值可以表示为空以表示缺失值。

类构造函数

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 **添加(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 。该软件包包含用于时间相关数据的类和接口。

时间序列

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

类构造函数

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 **添加(RegularTimePeriod期间,双倍值)** 该方法为该系列添加了一个新的数据项。

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

TimeSeriesCollection

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

类构造函数

S.No 构造函数和说明
1 **TimeSeriesCollection()** 它构建一个空数据集,并绑定到默认时区。
2 **TimeSeriesCollection(TimeSeries** 系列) 它构建一个包含单个系列(可以添加更多)的数据集,并绑定到默认时区。
3 **TimeSeriesCollection(TimeSeries** 系列,java.util.TimeZone区域) 它构建了一个数据集,其中包含与特定时区绑定的单个系列(可以添加更多)。
4 **TimeSeriesCollection** (java.util.TimeZone区域) 它构建了一个与特定时区绑定的空数据集。

类方法

S.No 方法和描述
1 **addSeries(TimeSeries** 系列) 此方法向集合添加一系列数据,并向所有注册的侦听器发送 **DatasetChangeEvent** 。

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

第二

这个班级在某一天代表第二名。这个类是不可变的,这是所有RegularTimePeriod子类的要求。

类构造函数

S.No 构造函数和说明
1 **第二()** 它根据系统日期/时间构造一个新的第二个。
2 **Second(java.util.Date时间)** 它从指定的日期/时间和默认时区构造一个新实例。
3 **Second(java.util.Date时间,java.util.TimeZone区域,java.util.Locale语言环境)** 它会根据提供的时间和时区创建新的秒钟。
4 **秒(int second,int minute,int hour,int day,int month,int year** 它创造了新的一秒。
**秒(int second,分钟)** 它构建了一个新的第二个。

类方法

S.No 方法和描述
1 **getSecond()** 它在一分钟内返回第二个。
2 **下一个()** 它返回当前秒的第二个。

请参阅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框架)** 它将指定的框架放置在屏幕中间。

教程示例中使用了上述方法。请参阅JFreeChart API了解其余方法和字段。