JFreeChart - 參考 API



本章將討論 JFreeChart 庫中一些重要的包、類和方法。在使用 JFreeChart 庫建立各種圖表時,這些包、類和方法是最常用的。

ChartFactory 類

ChartFactory 是org.jfree.chart包下的一個抽象類。它提供了一組用於生成標準圖表的實用程式方法。

以下是幾個重要方法的列表:

類建構函式

序號 描述
1

ChartFactory()

ChartFactory 類的預設建構函式。

類方法

序號 方法及描述
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)

此方法使用指定的 dataset 建立一個 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 類。

類建構函式

序號 建構函式和描述
1

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

它構造一個框架。

2

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

它構造一個框架。

類方法

序號 方法和描述
1

getChartPanel()

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

ChartPanel 類

來自org.jfree.chart包的 ChartPanel 類用作 Swing GUI 元件,用於顯示 JfreeChart 物件。

類建構函式

序號 建構函式和描述
1

ChartPanel(JFreeChart chart)

此建構函式構造一個顯示指定圖表的 panel。

2

ChartPanel(JFreeChart chart, boolean useBuffer)

此建構函式構造一個包含圖表的 panel。

3

ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips)

此建構函式構造一個 JFreeChart panel。

類方法

序號 方法和描述
1

setPreferredSize(java.awt.Dimension)

此方法用於使用 java.awt.Dimension 類物件作為引數來設定框架大小。此方法取自 javax.swing.JComponent。

ChartUtilities 類

來自org.jfree.chart包的 CharUtilites 類提供了一組 JFreeCharts 的實用程式方法,包括將圖表轉換為影像檔案格式(如 PNG、JPEG)以及建立 HTML 影像地圖的方法。

類建構函式

序號 建構函式和描述
1

ChartUtilities()

這是類的預設建構函式

類方法

序號 方法和描述
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 圖,包括時間序列資料。

類建構函式

序號 建構函式和描述
1

JfreeChart(Plot plot)

此建構函式基於提供的 plot 建立一個新圖表。

2

JfreeChart(java.lang.String title, java.awt.Font titleFont, Plot plot, boolean createLegend)

此建構函式使用給定的標題和 plot 建立一個新圖表。

3

JfreeChart(java.lang.String title, Plot plot)

此建構函式使用給定的標題和 plot 建立一個新圖表。

類方法

序號 方法和描述
1

getXYPlot()

此方法將圖表 plot 作為XYPlot返回。使用 XYPolt,我們可以對 xy 圖表進行一些實用程式操作。

PiePlot 類

此類是org.jfree.chart.plot包的一部分,並擴充套件了同一包中的 Plot 類。此類提供建立餅圖的方法。

類建構函式

序號 建構函式和描述
1

PiePlot()

它建立一個新的 plot。

2

PiePlot(PieDataset dataset)

它建立一個繪製指定資料集餅圖的 plot。

類方法

序號 方法和描述
1

setStartAngle(double angle)

此方法設定起始角度並向所有註冊的監聽器傳送 PlotChangeEvent。

PiePlot3D 類

PiePlot3D 類是同一包下 PiePlot 類的子類。因此,此類具有與 PiePlot 類相同的特性,只是它用於建立 3D 圖表。

類建構函式

序號 建構函式和描述
1

PiePlot3D()

此建構函式建立一個沒有資料集的新例項。

2

PiePlot3D(PieDataset dataset)

此建構函式使用指定的資料集建立一個具有三維效果的餅圖。

類方法

序號 方法和描述
1

setForegroundAlpha(float alpha)

它設定圖表的 alpha 透明度,並向所有註冊的監聽器傳送 PlotChangeEvent。這取自父類 Plot 類之一。

2

setInteriorGap(double percent)

它設定內部間隙並向所有註冊的監聽器傳送 PlotChangeEvent。這控制餅圖邊緣和繪圖區域本身(即節標籤顯示的區域)之間的空間。此方法取自父類 PiePlot。

PlotOrientation 類

這是一個可用於org.jfree.chart.plot包中的序列化類,用於顯示二維圖表的方位。方位可以是垂直水平。它設定 Y 軸的方位。常規圖表的 Y 軸是垂直的。

欄位摘要

序號 型別 欄位及描述
1 PlotOrientation HORIZONTAL 對於範圍軸(Y 軸)為水平的圖表。
2 PlotOrientation VERTICAL 對於範圍軸(Y 軸)為垂直的圖表。這是預設方位。

類方法

序號 方法和描述
1

isHorizontal()

如果此方位為 HORIZONTAL,則此方法返回 true,否則返回 false。

2

isVertical()

此方法如果此方位為 VERTICAL,則返回 true,否則返回 false。

XYPlot 類

這是一個可用於org.jfree.chart.plot包中的通用類,用於繪製 (x,y) 對形式的資料。此圖表可以使用實現 XYDataSet 介面的任何其他類的數 據。XYPlot 使用 XYItemRenderer 繪製圖表上的每個點。

類建構函式

序號 建構函式和描述
1

XYPlot()

此建構函式建立一個沒有資料集、沒有軸和沒有渲染器的新 XYPlot 例項。

2

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

此建構函式使用指定的資料集、軸和渲染器建立一個新的 plot。

類方法

序號 方法和描述
1

setRenderer(XYItemRenderer renderer)

此方法設定主資料集的渲染器,並向所有註冊的監聽器傳送更改事件。

NumberAxis 類

此類位於org.jfree.chart.axis包中,可以訪問任何軸的數值資料。當我們將任何軸的範圍設定為預設值時,它會根據資料的範圍進行調整。但是,使用 NumberAxis 類,我們可以設定域和範圍軸的下限和上限。

類建構函式

序號 建構函式和描述
1

NumberAxis( )

這是 NumberAxis 的預設建構函式。

2

NumberAxis( java.lang.String label)

建構函式 NumberAxis 在必要時使用預設值。

類方法

序號 方法和描述
1

setLowerMargin(double margin)

它設定軸的下限(作為軸範圍的百分比),並向所有註冊的監聽器傳送AxisChangeEvent。此方法取自 ValueAxis 類的父類。

2

setUpperMargin(double margin)

它設定軸的上限(作為軸範圍的百分比),並向所有註冊的監聽器傳送AxisChangeEvent。此方法也存在於 ValueAxis 類中。

XYLineAndShapeRenderer 類

這是位於org.jfree.chart.renderer.xy包中的類,負責用線連線資料點並在每個資料點處繪製形狀。此渲染器類旨在與XYPlot類一起使用。

類建構函式

序號 建構函式及描述
1

XYLineAndShapeRenderer()

它建立一個新的渲染器,其中線條和形狀都可見。

2

XYLineAndShapeRenderer (boolean lines, boolean shapes)

它建立一個具有特定屬性的新渲染器。

類方法

序號 方法和描述
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 介面的預設實現類。

類建構函式

序號 建構函式和描述
1

DefaultPieDataset()

此建構函式建立一個新的資料集,最初為空。

2

DefaultPieDataset(KeyedValues data)

它透過從KeyedValues例項複製資料來建立一個新的資料集。

類方法

序號 方法及描述
1

setValue(java.lang.Comparable key, double value)

它設定鍵的資料值,並向所有註冊的監聽器傳送DatasetChangeEvent

2

setValue(java.lang.Comparable key, java.lang.Number value)

它設定鍵的資料值,並向所有註冊的監聽器傳送DatasetChangeEvent

SeriesException 類

這是一個異常類。它引發在資料集資料時間序列中發生的異常。在出現重複或無效資料時會引發異常。時間序列不能應用重複項,並且格式必須有效。

DefaultCategoryDataset

這是 CategoryDataset 介面的預設實現類。

類建構函式

序號 建構函式和描述
1

DefaultCategoryDataset()

此建構函式建立一個新的空資料集。

類方法

序號 方法和描述
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。

系列資料集 (Series Datasets)

系列資料集由XY圖表使用。其包名為org.jfree.data.xy,包含屬於XY圖表的類和介面。核心介面是XYDataset。

XYDataset

這是一個介面,可以透過它訪問(x,y)項形式的資料。顧名思義,您可以使用此資料集來服務XY圖表。此介面中的某些方法取自SeriesDataset介面。

XYZDataset

這是一個介面,可以透過它訪問(x,y,z)項形式的資料。顧名思義,您可以使用此資料集來服務XYZ圖表。此介面中的某些方法取自SeriesDataset。

XYSeries

這是一個類,它表示(x, y)形式的零個或多個數據項的序列。預設情況下,系列中的項按x值升序排序,並允許重複的x值。排序和重複預設值都可以在建構函式中更改。Y值可以表示為null以表示缺失值。

類建構函式

序號 建構函式和描述
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系列。

類方法

序號 方法和描述
1

add(double x, double y)

此方法將資料項新增到系列中。

上述方法在教程示例中使用。如果您想了解其餘的方法和欄位,請參閱JFreeChart API。

XYSeriesCollection

XYSeriesCollection類具有諸如AbstractIntervalDataset、AbstractXYDataset、AbstractSeriesDataset和AbstractDataset之類的父類。此類中的某些方法屬於其父類。

類建構函式

序號 建構函式和描述
1

XYSeriesCollection()

它構造一個空資料集。

2

XYSeriesCollection(XYSeries xyseries)

它構造一個數據集並用單個系列填充它。

類方法

序號 方法和描述
1

addSeries(XYSeries series)

此方法向集合新增一個系列,並向所有已註冊的監聽器傳送一個DatasetChangeEvent

有關其餘方法和欄位,請參閱JFreeChart API。

預設XYZ資料集 (Default XYZDataset)

DefaultXYZDataset類具有諸如AbstractIntervalDataset、AbstractXYDataset、AbstractSeriesDataset、AbstractDataset和AbstractXYZDataset之類的父類。此類中的某些方法屬於其父類。

類建構函式

序號 建構函式和描述
1

DefaultXYZDataset()

它構造一個空資料集。

類方法

序號 方法和描述
1

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

此方法向集合新增一個系列,並向所有已註冊的監聽器傳送一個DatasetChangeEvent

有關其餘方法和欄位,請參閱JFreeChart API。

JFreeCharts中的時間序列 (Time Series in JFreeCharts)

其包名為org.jfree.data.time。此包包含用於時間相關資料的類和介面。

TimeSeries

此類表示週期值形式的資料項序列,其中週期是RegularTimePeriod抽象類的某個例項,例如Time、Day、Hour、Minute和Second類。

類建構函式

序號 建構函式和描述
1

TimeSeries(java.lang.Comparable name)

它建立一個新的空系列。

2

TimeSeries(java.lang.Comparable name, java.lang.String domain, java.lang.String range)

它建立一個不包含任何資料的新時間序列。

類方法

序號 方法和描述
1

add(RegularTimePeriod period, double value)

此方法向系列新增一個新的資料項。

有關其餘方法和欄位,請參閱JFreeChart API。

TimeSeriesCollection

這是一個用作時間序列物件集合的類。此類實現了XYDataset介面,並擴充套件了IntervalXYDataset介面。這使得收集系列資料物件非常方便。

類建構函式

序號 建構函式和描述
1

TimeSeriesCollection()

它構造一個空資料集,繫結到預設時區。

2

TimeSeriesCollection(TimeSeries series)

它構造一個包含單個系列(可以新增更多)的資料集,繫結到預設時區。

3

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

它構造一個包含單個系列(可以新增更多)的資料集,繫結到特定時區。

4

TimeSeriesCollection(java.util.TimeZone zone)

它構造一個空資料集,繫結到特定時區。

類方法

序號 方法和描述
1

addSeries(TimeSeries series)

此方法向集合新增一個系列,並向所有已註冊的監聽器傳送一個DatasetChangeEvent

有關其餘方法和欄位,請參閱JFreeChart API。

Second

此類表示特定日期中的秒。此類是不可變的,這是所有RegularTimePeriod子類的要求。

類建構函式

序號 建構函式和描述
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)

它構造一個新的Second。

類方法

序號 方法和描述
1

getSecond()

它返回分鐘內的秒。

2

next()

它返回當前秒之後的下一秒。

有關其餘方法和欄位,請參閱JFreeChart API。

JFreeCharts中的框架 (Frames in JFreeCharts)

其包名為org.jfree.ui。這是屬於JFreeChart的JCommons API的包。它包含用於為預配置圖表建立框架的實用程式類。

ApplicationFrame

這是為簡單的應用程式建立主框架的基類。框架偵聽視窗關閉事件,並透過關閉JVM來響應。對於小型演示應用程式來說,這很好。對於企業應用程式,您需要使用更強大的東西。此類中的主要核心方法取自Component、Container、Window、Frame和JFrame類。

類建構函式

序號 建構函式及描述
1

ApplicationFrame(java.lang.String title)

它使用字串標題建立一個應用程式框架。

此類有助於建立AWT框架。這就是為什麼我們在本教程示例中使用此類作為超類的理由。

從父類繼承的方法用於開啟框架、關閉框架、更改大小、更改背景或前景顏色以及監聽器。

RefineryUtilities

這是一個與使用者介面相關的實用程式方法集合類。

類方法

序號 方法和描述
1

centerFrameOnScreen(java.awt.Window frame)

它將指定的框架定位在螢幕的中間。

上述方法在教程示例中使用。有關其餘方法和欄位,請參閱JFreeChart API。

廣告
© . All rights reserved.