参考 API(Referenced APIs)
在本章中,我们将讨论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绘图的方向。 方向可以是vertical或horizontal 。 它设置Y轴的方向。 传统图具有垂直Y轴。
现场总结
S.No | 类型 | 领域和描述 |
---|---|---|
1 | PlotOrientation | HORIZONTAL对于范围轴(Y轴)水平的绘图。 |
2 | PlotOrientation | VERTICAL对于范围轴(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。