JFreeChart參考API


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

ChartFactory 類

ChartFactory是org.jfree.chart包中抽象類。它提供了實用方法的集合,用於生成標準的圖表。以下是幾個重要方法的列表:

類構造方法

S.N. 描述
1 ChartFactory() ChartFactory類的預設建構函式。

類方法

S.N. 方法 & 描述
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 類

ChartFrame類在org.jfree.chart包中,提供所有的影格相關的功能和工具。 ChartFrame類繼承自父類別,如Frame, Window, Container, Component 類功能。

類構造方法

S.N. 構造方法及描述
1 ChartFrame (java.lang.Frame String, JfreeChart chart) 它構建一個框架/frame
2 Chart Frame (java.lang.Frame String, JfreeChart chart, boolean scrollpane) 它構建一個框架/frame

類方法

S.N. 構造方法及描述
1 getChartPanel() 此方法返回圖表面板的框架/frame。

ChartPanel 類

org.jfree.chart包中的ChartPanel類用於swing GUI部件,用於顯示JfreeChart物件。

類構造方法

S.N. 構造方法及描述
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面板。

類方法

S.N. 方法及描述
1 setPreferredSize(java.awt.Dimension) 該方法用於java.awt中設定的影格大小。 Dimension類物件作為引數。這個方法是從javax.swing.JComponent中實現。

ChartUtilities 類

org.jfree.chart包中的CharUtilites類提供JFreeCharts包括將圖表轉換成影象檔案格式,如PNG,JPEG和建立HTML影象對映方法的實用方法的集合。

類建構函式

S.N. 構造方法及描述
1 ChartUtilities() 這是類的一個預設建構函式

類方法

S.N. 方法及描述
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.N. 構造方法及描述
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.N. 方法及描述
1 getXYPlot() 此方法返回節點圖表作為XYPlot。使用XYPolt我們可以XY圖表做了一些實用操作。

PiePlot 類

這個類是org.jfree.chart.plot包的一部分,來自同一個包擴充套件Plot 類。這個類提供了一些方法來建立餅圖塊。

類別建構函式

S.N. 構造方法及描述
1 PiePlot() 它建立了一個新的繪圖。
2 PiePlot(PieDataset dataset) 它建立了一個繪圖,餅圖由指定的資料集。

類方法

S.N. 方法及描述
1 setStartAngle(double angle) 此方法設定起始角度和傳送PlotChangeEvent向所有註冊的偵聽器

PiePlot3D 類

PiePlot3D類和PiePlot類在同一個包中的子類。因此,這兩個類有相同的功能,PiePlot類只不過是用於建立3D圖形。

類別建構函式

S.N. 構造方法及描述
1 PiePlot3D() 此建構函式建立沒有資料集的新範例。
2 PiePlot3D(PieDataset dataset) 該建構函式建立一個餅圖和使用指定的資料集三維效果。

類方法

S.N. 方法及描述
1 setForegroundAlpha(float alpha) 它設定alpha透明度並向所有傳送PlotChangeEvent註冊的偵聽器。
2 setInteriorGap(double percent) 它設定了內部差距並行送PlotChangeEvent向所有註冊的偵聽器。這種控制的餅圖繪圖邊緣與繪圖區本身(即,其中部分標籤顯示的區域)之間的空間。這個方法是從父類別PiePlot繼承。

PlotOrientation 類

這是一個序列化類從org.jfree.chart.plot封裝,它是用來顯示一個二維曲線圖的方位。方向可以是垂直的或水平的。它設定Y軸的方向。傳統的繪圖有一個垂直的Y軸。

欄位摘要

S.N. 型別 欄位 & 描述
1 PlotOrientation HORIZONTAL 為一個曲線圖,其中所述範圍軸(Y軸)是水平。
2 PlotOrientation VERTICAL 為一個曲線圖,其中所述範圍軸(Y軸)是垂直的。這個預設的方向。

類方法

S.N. 方法及描述
1 isHorizontal() 如果這個方向是水平的,此方法返回true,否則返回false。
2 isVertical() 如果這個方向是VERTICAL,此方法返回true,否則返回false。

XYPlot 類

這在org.jfree.chart.plot包可用一個通用類,並將其用於在(X,Y)對的形式標繪資料。這個曲線圖可以從實現XYDataSet介面的任何其它類中使用的資料。 XYPlot利用一個XYItemRenderer的畫在圖上的每個點。

類別建構函式

S.N. 構造方法及描述
1 XYPlot() 該構造器沒有資料集,無軸,無渲染器建立一個新的XYPlot範例。
2 XYPlot(XYDataset dataset,ValueAxis domainAxis,ValueAxis rangeAxis,XYItemRenderer renderer),此建構函式建立一個新的繪圖並指定資料集,軸和渲染。

類方法

S.N. 方法及描述
1 setRenderer(XYItemRenderer renderer) 此方法設定渲染器的主要資料集,並行送更改事件向所有註冊的偵聽器。

NumberAxis 類

這個類是org.jfree.chart.axis封裝,它可以存取任意軸的數值資料。當我們設定任何軸的範圍為預設值,它根據所述資料的範圍配合。但使用NumberAxis,類我們可以設定較低的利潤率和定義域和值域軸的上側邊距。

類別建構函式

S.N. 構造方法及描述
1 NumberAxis( ) 這是NumberAxis一個預設的建構函式。
2 NumberAxis( java.lang.String label) 建構函式NumberAxis使用必要的預設值在哪裡。

類方法

S.N. 方法及描述
1 setLowerMargin(double margin) 它為軸心的利潤率較低(為軸心範圍的百分比),並行送一個AxisChangeEvent所有已註冊的偵聽器。這個方法是從父類別ValueAxis繼承。
2 setUpperMargin(double margin) 它設定於所述軸的上緣(視軸範圍的百分比),並行送一個AxisChangeEvent給所有註冊的監聽器。這種方法也存在於ValueAxis類。

XYLineAndShapeRenderer 類

這是在org.jfree.chart.renderer.xy包下的類,它需要連線資料點與線,並繪製形狀,在每個資料點下是可用的。這個渲染器類是專為XYPlot類配合使用。

類別建構函式

S.N. 構造和描述
1 XYLineAndShapeRenderer() 它建立了一個新的渲染器有兩種線條和形狀可見。
2 XYLineAndShapeRenderer (boolean lines, boolean shapes) 它建立了一個新的渲染與特定的屬性。

類方法

S.N. 方法及描述
1 setSeriesPaint(int series, java.awt.Paint paint) 此方法設定用於一系列的塗料,並行送RendererChangeEvent給所有註冊的監聽器。這個方法是從AbstratRenderer抽象類從渲染器包中JFreeChart的API。
2 setSeriesStroke(int series, java.awt.Stroke stroke) 此方法設定用於一系列的流程,並行送RendererChangeEvent向所有註冊的偵聽器。這個方法是從AbstratRenderer抽象類,它是這個包的超類。

XYItemRenderer通用資料集

這是用於使一個單一的(X,Y)格式項在XYPlot介面。org.Jfree.data.general包其具有類和介面,以定義不同型別的資料集來構造圖。

PieDataset

這是作為一個通用的資料集,其中值與鍵相關聯的介面。正如其名稱所暗示的,可以使用這個資料集提供資料的餅圖。此介面擴充套件KeyedValues資料集的介面。所有使用此介面的方法取自KeyedValues,Values和資料集的介面。

DefaultPieDataset 類

這是一個預設的實現類PieDataset介面。

類別建構函式

S.N. 建構函式和描述
1 DefaultPieDataset() 該建構函式建立一個新的資料集,初始為空。
2 DefaultPieDataset(KeyedValues data) 它從一個KeyedValues範例複製資料建立了一個新的資料集。

類方法

S.N. 方法及描述
1 setValue(java.lang.Comparable key, double value) 它設定資料值的鍵,傳送DatasetChangeEvent向所有註冊的偵聽器。
2 setValue(java.lang.Comparable key, java.lang.Number value) 它設定資料值的鍵,傳送DatasetChangeEvent向所有註冊的偵聽器。

SeriesException 類

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

DefaultCategoryDataset

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

類別建構函式

S.N. 建構函式及描述
1 DefaultCategoryDataset() 此建構函式建立新的空資料集。

類方法

S.N. 方法及描述
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) 此方法新增或在表中更新的值,並行送aDatasetChangeEvent給所有註冊的監聽器。
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.N. 建構函式描述
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.N. 方法描述
1 add(double x, double y) 這種方法增加了資料項成系列。

在上述方法中使用的教學例子。如果想了解其餘的方法和欄位,請參考JFreeChart的API。

XYSeriesCollection

XYSeriesCollection類有類似父類別AbstractIntervelDataset,AbstractXYDatset,AbstractSeriesDataset和AbstractDataset。一些在這個類中的方法屬於這個類的父類別。

類別建構函式

S.N. 建構函式描述
1 XYSeriesCollection() 它構造一個空的資料集。
2 XYSeriesCollection(XYSeries xyseries)它構建了一個資料集,並用一個系列的填充。

類方法

S.N. 方法及描述
1 addSeries(XYSeries series) 這種方法增加了一系列的收集和傳送DatasetChangeEvent向所有註冊的偵聽器。

參見JFreeChart的API其餘的方法和欄位。

Default XYZDataset :

DefaultXYZDataset類都有父類別,如AbstractIntervelDataset,AbstractXYDatset,AbstractSeriesDataset,AbstractDataset和AbstractXYZDataset。一些在這個類中的方法屬於這一類的父類別。

類別建構函式

S.N. 構造方法及描述
1 DefaultXYZDataset() 它構造一個空的資料集。

類方法

S.N. 方法及描述
1 addSeries(java.lang.Comparable seriesKey, double[ ][ ] data ) 該方法增加了一系列的收集和傳送DatasetChangeEvent向所有註冊的偵聽器。

請參考JFreeChart的API,其餘的方法和欄位。

JFreeCharts的時間序列

該軟體包是org.jfree.data.time。該軟體包包含用於時間相關的資料的類和介面。

TimeSeries :

此類表示資料項的期值的形式,其中一段是RegularTimePeriod抽象類,如時間,日,小時,分鐘和秒類的一些範例序列。

類別建構函式

S.N. 構造方法及描述
1 TimeSeries(java.lang.Comparable name) 它建立新的空系列。
2 TimeSeries(java.lang.Comarable name, java.lang.String domain, java.lang.Strin range) 它會建立一個不包含任何資料的新的時間序列。

類方法

S.N. 方法及描述
1 add(RegularTimePeriod period,double value) 該方法增加了一個新的資料項用以串聯。

其餘的方法和欄位參見JFreeChart的API。

TimeSeriesCollection :

這是作為時間序列的物件的集合的類。這個類實現了XYDataset介面,以及它擴充套件了IntervelXYDataset介面。這使得它可以方便地收集序列資料物件。

類別建構函式

S.N. 構造方法及描述
1 TimeSeriesCollection() 它構造一個空的資料集,綁在預設時區。
2 TimeSeriesCollection(TimeSeries series) 它構造一個包含單個系列(更多可新增),綁在預設時區的資料集。
3 TimeSeriesCollection(TimeSeries series, java.util.TimeZone zone) 它構造包含單個系列(更可新增),係結到特定的時間段的資料集。
4 TimeSeriesCollection(java.util.TimeZone zone) 它構造一個空的資料集時,係結到特定的時間區。

類方法

S.N. 方法及描述
1 addSeries(TimeSeries series) 方法增加了一系列的收集和傳送DatasetChangeEvent向所有註冊的偵聽器。

其餘的方法和欄位請參考JFreeChart的API。

Second 類:

這個類表示一個特定的日子一秒鐘。這個類是不可變的,這是對所有RegularTimePeriod子類的要求。

類別建構函式

S.N. 建構函式及描述
1 Second() 它構造一個新的Second,基於系統的日期/時間。
2 Second(java.util.Date time) 它構造從指定日期/時間和預設時區的新範例。
3 Second(java.util.Date time, java.util.TimeZone zone, java.util.Locale locale) 它建立基於所提供的時間和時區的新的Second物件。
4 Second(int second, int minute, int hour, int day, int month, int year)它建立了一個新的Second物件。
5 Second(int second, Minute minute) 它構建了一個新的Second。

類方法

S.N. 方法及描述
1 getSecond() 它返回分鐘和秒。
2 next() 它返回當前的下一秒。

其餘的方法和欄位請參考JFreeChart的API。

JFreeCharts 中的影格:

該軟體包是org.jfree.ui。這是包所屬JFreeChart的JCommons的API。它包含用於建立預組態的圖表框架的實用程式類。

ApplicationFrame :

這是用於建立簡單的應用程式的主框架的基礎類別。影格監聽視窗關閉事件,並作出反應,關閉JVM。這是很好的小型演示應用。對於企業應用程式,需要使用一些更穩健的東西。在這個類中的主要核心方法取自Component, Container, Window, Frame 和Jframe類。

類建構函式

S.N. 構造方法及描述
1 ApplicationFrame(java.lang.String title) 它會建立一個字串標題的應用程式框架。

這個類有助於建立AWT框架。這就是為什麼我們使用這個類作為父類別在本教學中的例子的原因。

其採取父類別的方法用於開啟一個框架,關閉一個框架,改變大小,改變背景或前景顏色和監聽器。

RefineryUtilities :

這是關於使用者介面的工具方法的類的集合。

類方法

S.N. 方法及描述
1 centerFrameOnScreen(java.awt.Window frame) 它定位在螢幕的中間的指定影格。

在上述方法中使用的教學例子以外的類,方法和欄位參見JFreeChart的API。