パッケージ org.opengion.hayabusa.io
クラス ChartFactory
java.lang.Object
org.opengion.hayabusa.io.ChartFactory
ChartFactory は、Dataset および、Renderer のオブジェクトを構築するファクトリクラスです。
JFreeChart では、各種オブジェクトの組み合わせで、色々なグラフを作成できます。
ここでは、簡易的にオブジェクトを構築できるように、一つのキーワードによって、各種作成する
オブジェクトのキーワードを関連付けておきます。
| チャートタイプ | レンデラー(org.jfree.chart.renderer.) | Dataset |
|---|---|---|
| HybsLine | HybsLineRenderer | Category |
| LineAndShape | category.LineAndShapeRenderer | Category |
| Line3D | category.LineRenderer3D | Category |
| StatisticalLineAndShape | category.StatisticalLineAndShapeRenderer | Category |
| HybsParetoLine | HybsLineRenderer | ParetoCategory |
| HybsBar | HybsBarRenderer | Category |
| HybsColorBar | HybsBarRenderer | Category |
| Bar | category.BarRenderer | Category |
| Bar3D | category.BarRenderer3D | Category |
| HybsColorBar3D | HybsBarRenderer3D | Category |
| Area | category.AreaRenderer | Category |
| HybsStackedBar | HybsStackedBarRenderer | Category |
| StackedBar | category.StackedBarRenderer | Category |
| StackedBar3D | category.StackedBarRenderer3D | Category |
| StackedArea | category.StackedAreaRenderer | Category |
| GroupedStackedBar | category.GroupedStackedBarRenderer | Category |
| LayeredBar | category.LayeredBarRenderer | Category |
| CategoryStep | category.CategoryStepRenderer | Category |
| Level | category.LevelRenderer | Category |
| MinMax | category.MinMaxCategoryRenderer | Category |
| WaterfallBar | category.WaterfallBarRenderer | Category |
| MultiplePie | null | Category |
| SpiderWeb | null | Category |
| Pie | null | Pie |
| Pie3D | null | Pie |
| Ring | null | Pie |
| XYArea | xy.XYAreaRenderer | XY |
| XYArea2 | xy.XYAreaRenderer2 | XY |
| XYBlock | xy.XYBlockRenderer | XY |
| CyclicXYItem | xy.CyclicXYItemRenderer | XY |
| HighLow | xy.HighLowRenderer | XY |
| StackedXYArea | xy.StackedXYAreaRenderer | XY |
| StackedXYArea2 | xy.StackedXYAreaRenderer2 | XY |
| StandardXYItem | xy.StandardXYItemRenderer | XY |
| XYBubble | xy.XYBubbleRenderer | XY |
| XYDifference | xy.XYDifferenceRenderer | XY |
| XYDot | xy.XYDotRenderer | XY |
| XYError | xy.XYErrorRenderer | XY |
| XYLine3D | xy.XYLine3DRenderer | XY |
| XYLineAndShape | xy.XYLineAndShapeRenderer | XY |
| XYStepArea | xy.XYStepAreaRenderer | XY |
| XYStep | xy.XYStepRenderer | XY |
| PolarItem | DefaultPolarItemRenderer | XY |
| Meter | null | Value |
| Thermometer | null | Value |
| Compass | null | Value |
| Gantt | category.GanttRenderer | TaskSeries |
| XYBarV | xy.XYBarRenderer | TimeSeries |
| ClusteredXYBarV | xy.ClusteredXYBarRenderer | TimeSeries |
| YIntervalV | xy.YIntervalRenderer | TimeSeries |
| DeviationV | xy.DeviationRenderer | TimeSeries |
| TimeSeriesLineV | xy.StandardXYItemRenderer | TimeSeries |
| TimeSeriesLineH | xy.StandardXYItemRenderer | TimeSeries |
| TimeSeriesBarV | xy.XYBarRenderer | TimeSeries |
| TimeSeriesBarH | xy.XYBarRenderer | TimeSeries |
| StackedTimeSeriesLineV | xy.StandardXYItemRenderer | TimeSeries |
| StackedTimeSeriesLineH | xy.StandardXYItemRenderer | TimeSeries |
| TimeStepV | xy.XYStepRenderer | TimeSeries |
| TimeStepH | xy.XYStepRenderer | TimeSeries |
- 導入されたバージョン:
- JDK1.1,
-
メソッドの概要
修飾子とタイプメソッド説明static intgetRowCount(org.jfree.data.general.Dataset dataset) Datasetオブジェクトのデータ件数を返します。static TypeRenderergetTypeRenderer(String type) TypeRenderer オブジェクトを作成します。static ChartPlotnewChartPlot(String type) ChartPlot オブジェクトを作成します。static org.jfree.data.general.DatasetnewDataset(Connection conn, String query, String type, String[] lbls, boolean useCateColor) Connection と query 文字列から、Dataset オブジェクトを作成します。static org.jfree.data.general.DatasetnewDataset(DBTableModel table, String type, String[] lbls, boolean useCateColor) DBTableModelオブジェクトから、Dataset オブジェクトを作成します。
-
メソッドの詳細
-
newDataset
public static org.jfree.data.general.Dataset newDataset(Connection conn, String query, String type, String[] lbls, boolean useCateColor) throws SQLException Connection と query 文字列から、Dataset オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。(getTypeRenderer) その TypeRenderer#getDatasetType() メソッドの値を元に、Dataset クラスは、 "org.jfree.data.jdbc.JDBC****Dataset" の **** の箇所を特定します。 現状は、Category , ParetoCategory , Pie , XY の3種類 + Valueデータセットが選択されます。- パラメータ:
conn- Dataset の取得先のコネクションquery- 取得するクエリー文字列type- Dataset オブジェクトの作成元を求めるキーワードlbls- シリーズのラベル名配列useCateColor- カテゴリのカラー名指定 [false:指定しない/true:指定する]- 戻り値:
- Datasetオブジェクト
- 例外:
SQLException- データベースアクセスエラー- 関連項目:
- 変更履歴:
- 3.8.9.2 (2007/07/28) HybsJDBCCategoryDataset 追加, 5.3.0.0 (2010/12/01) その他のDataset 追加, 5.6.1.0 (2013/02/01) 時間軸を持つチャート TimeSeries 追加, 6.0.2.0 (2014/09/19) シリーズのラベル名配列追加, 6.0.2.1 (2014/09/26) パレート図用のDataset ParetoCategory 追加, 6.0.2.2 (2014/10/03) カテゴリのカラー名指定 useCategoryColor 追加
-
newDataset
public static org.jfree.data.general.Dataset newDataset(DBTableModel table, String type, String[] lbls, boolean useCateColor) DBTableModelオブジェクトから、Dataset オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。(getTypeRenderer) その TypeRenderer#getDatasetType() メソッドの値を元に、Dataset クラスを作成します。 現状は、Category , ParetoCategory , Pie , XY の3種類 + Valueデータセットが選択されます。 ※ DBTableModel の row,col と、Dataset の row,col は、逆になっています。- パラメータ:
table- Dataset の取得先のテーブルモデルtype- Dataset オブジェクトの作成元を求めるキーワードlbls- シリーズのラベル名配列useCateColor- カテゴリのカラー名指定 [false:指定しない/true:指定する]- 戻り値:
- Datasetオブジェクト
- 関連項目:
- 変更履歴:
- 5.3.0.0 (2010/12/01) 新規追加, 6.0.2.0 (2014/09/19) シリーズのラベル名配列追加, 6.0.2.1 (2014/09/26) パレート図用のDataset ParetoCategory 追加, 6.0.2.2 (2014/10/03) カテゴリのカラー名指定 useCategoryColor 追加
-
getRowCount
Datasetオブジェクトのデータ件数を返します。 org.jfree.data.general.Dataset には、共通に利用できる件数取得のメソッドが定義されていません。 なので、個々のクラスごとに、取得します。 ChartFactory に持っているのは、このクラスで、Dataset の実態を作成している関係上、 新しいクラスを追加時に、このメソッドの手直しが必要になるからです。- パラメータ:
dataset- Datasetオブジェクト- 戻り値:
- データ件数
- 変更履歴:
- 6.9.7.0 (2018/05/14) データ0件の対応。
-
getTypeRenderer
TypeRenderer オブジェクトを作成します。 引数のtypeは、内部定義の TYPE_RENDERER_MAP マップで関連付けられたキーワード より、対象とするチャート特性を取得します。 typeは、org.jfree.chart.renderer.XXXX.YYYYRenderer のYYYY とほぼ一致します。 TYPE_RENDERER_MAP マップには、XXXX.YYYYRenderer 部分が定義されています。 XXXX は、category と xy が定義されており、それ以外のレンデラーは null に なっています。Pie 関係は、レンデラーではなく、Plot と対応します。 ただし、個々に設定情報が異なる為、ChartPlot_Pie クラスで個別対応しています。- パラメータ:
type- Rendererオブジェクトの作成元を求めるキーワード- 戻り値:
- TypeRendererオブジェクト
-
newChartPlot
ChartPlot オブジェクトを作成します。 ChartPlot オブジェクトは、ChartPlot インターフェースを継承した サブクラスで、"org.opengion.hayabusa.io.ChartPlot_**** になります。 **** には、Category , Pie , XY が指定できます。- パラメータ:
type- Rendererオブジェクトの作成元を求めるキーワード- 戻り値:
- ChartPlotオブジェクト
- 変更履歴:
- 4.0.0.0 (2007/11/29) ChartPlot のサブクラスを動的に作成、キャッシュします。, 5.3.0.0 (2010/12/01) xxxPlot対応, 5.6.1.0 (2013/02/01) 時間軸を持つチャート TimeSeries 追加
-