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。