パッケージ org.opengion.hayabusa.io

# クラス ChartFactory

java.lang.Object
org.opengion.hayabusa.io.ChartFactory

public final class ChartFactory extends Object
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 int`
  `getRowCount(org.jfree.data.general.Dataset dataset)`
  Datasetオブジェクトのデータ件数を返します。
  `static TypeRenderer`
  `getTypeRenderer(String type)`
  TypeRenderer オブジェクトを作成します。
  `static ChartPlot`
  `newChartPlot(String type)`
  ChartPlot オブジェクトを作成します。
  `static org.jfree.data.general.Dataset`
  `newDataset(Connection conn, String query, String type, String[] lbls, boolean useCateColor)`
  Connection と query 文字列から、Dataset オブジェクトを作成します。
  `static org.jfree.data.general.Dataset`
  `newDataset(DBTableModel table, String type, String[] lbls, boolean useCateColor)`
  DBTableModelオブジェクトから、Dataset オブジェクトを作成します。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## メソッドの詳細

  - ### 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 の３種類 ＋ Valueデータセットが選択されます。
    パラメータ:
      `conn` - Dataset の取得先のコネクション
      `query` - 取得するクエリー文字列
      `type` - Dataset オブジェクトの作成元を求めるキーワード
      `lbls` - シリーズのラベル名配列
      `useCateColor` - カテゴリのカラー名指定 [false:指定しない/true:指定する]
    戻り値:
      Datasetオブジェクト
    例外:
      `SQLException` - データベースアクセスエラー
    関連項目:
      - `getTypeRenderer(String)`
      - `newDataset(DBTableModel,String,String[],boolean)`
    変更履歴:
      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 の３種類 ＋ Valueデータセットが選択されます。 ※ DBTableModel の row,col と、Dataset の row,col は、逆になっています。
    パラメータ:
      `table` - Dataset の取得先のテーブルモデル
      `type` - Dataset オブジェクトの作成元を求めるキーワード
      `lbls` - シリーズのラベル名配列
      `useCateColor` - カテゴリのカラー名指定 [false:指定しない/true:指定する]
    戻り値:
      Datasetオブジェクト
    関連項目:
      - `getTypeRenderer(String)`
      - `newDataset(Connection,String,String,String[],boolean)`
    変更履歴:
      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

    public static int getRowCount(org.jfree.data.general.Dataset dataset)
    Datasetオブジェクトのデータ件数を返します。 org.jfree.data.general.Dataset には、共通に利用できる件数取得のメソッドが定義されていません。 なので、個々のクラスごとに、取得します。 ChartFactory に持っているのは、このクラスで、Dataset の実態を作成している関係上、 新しいクラスを追加時に、このメソッドの手直しが必要になるからです。
    パラメータ:
      `dataset` - Datasetオブジェクト
    戻り値:
      データ件数
    変更履歴:
      6.9.7.0 (2018/05/14) データ０件の対応。

  - ### getTypeRenderer

    public static TypeRenderer getTypeRenderer(String type)
    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

    public static ChartPlot newChartPlot(String type)
    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 追加