TimeSeriesクラスとRegularTimePeriodクラス

広告

まずはTimeSeriesクラスについて確認します。TimeSeriesクラスのクラス図は次のようになっています。

  • java.lang.Object
  • org.jfree.data.general.Series
  • org.jfree.data.time.TimeSeries
  • public class TimeSeries extends Series implements java.lang.Cloneable, java.io.Serializable

用意されているコンストラクタは次の3つです。

コンストラクタ
TimeSeries(java.lang.Comparable name)
Creates a new (empty) time series.
TimeSeries(java.lang.Comparable name, java.lang.Class timePeriodClass)
Creates a new (empty) time series with the specified name and class of RegularTimePeriod.
TimeSeries(java.lang.Comparable name, java.lang.String domain, java.lang.String range, java.lang.Class timePeriodClass)
Creates a new time series that contains no data.

TimeSeriesクラスは、管理する時間の単位を決めてデータを管理します。単位とは分や秒、日や月や年などです。日ごとに変化するグラフを作成する場合は日に設定し、分毎に変化するデータを管理する場合は分に設定します。

1番目のコンストラクタは系列の名前だけを指定します。このコンストラクタの場合、時間の単位はデフォルトの値である「日」になります。通常は系列の名前と時間の単位を指定する2番目のコンストラクタを使用します。

Creates a new (empty) time series with the specified name and class of 
RegularTimePeriod.

Parameters:
  name - the series name (null not permitted).
  timePeriodClass - the type of time period (null not permitted).

1番目の引数に系列の名前、2番目の引数に時間の単位を表すクラスを指定します。ここで指定できるクラスはRegularTimePeriodクラスのサブクラスの中から選択します。

RegularTimePeriodクラスについては次のページで詳しく確認しますが、例えば次のように記述します。

TimeSeries series = new TimeSeries("系列名", Month.class);

上記ではRegularTimePeriodクラスのサブクラスの1つであるMonthクラスを使う場合の例です。

※Javaの全てのクラスは「class」と言うstaicフィールドを持っており、「クラス名.class」でそのクラスを表すClassクラスのオブジェクトを取得できます。(ややこしいので意味が分からなければ気にしないでも全然問題ありません)。

( Written by Tatsuo Ikura )