目次 前へ 次へ

7.10.1 自動日付・時間スケールを使用する

X 軸の日付・時間スケールを取得する一番簡単な方法は、あらかじめ定義された "dat" スケールを使用することです。その使用を可能にするには、初め、モジュール "jpgraph_date.php" を含みスケールを指定する必要があります。たとえば、以下のコードの断片が示すように、 SetScale() を呼び出す "datlin" 。

require_once("../jpgraph.php");
require_once(
"../jpgraph_line.php");
require_once(
"../jpgraph_date.php");
...
$graph = new Graph(540,300);
$graph->SetScale('datlin');
...

上記のコードはグラフに日付・線スケールを作成します。最初、日付スケールの基本的な使用を説明して、次に日付軸の正確なフォーマットの調整がどのように可能かということを例証します。

すべての自動フォーマットを使用する場合、ライブラリは日付・時間を特定するできるだけ短い文字列を使用します。たとえば、同じ日に全間隔である場合、時間値だけが表示され、間隔が複数日以上の場合も、日付がラベルに追加されます。

通常では、以下に例証されているように、使用されるラベルを手動にフォーマットさせることも可能です。

7.10.1.1 入力データを指定する

以下の最初の基本例は、毎 S 秒にサンプルの割り足を匹敵し、2 日間の合計周期を超えるデータ セットを作成します。X 軸の入力データがタイムスタンプのデータフォームであるべきということは重要です、たとえば、システムからの秒数。PHP で、現在のタイムスタンプ値は関数 time() によって返されます。

これは、プロットの2 つの入力ベクタの指定が常に必須であるということを意味しています。たとえば、線 プロットを指定するため

$line = new LinePlot($data,$xdata);

以下の例は実践用です



図 80:すべてがデフォルト値である特別何データ X 軸を使用します [ソース]

こらからの例は、上記の例をベースにしていくので、続ける前にこのグラフを作成するスクリプト([ソース] リンクにそって)を復習してください。

7.10.1.2 最初と最後の直線を調整する

上記の例のように、スケールは最初のデータ ポイントの前にわずかに起動します。それは、なぜでしょうか?これは、当然一時間の場合に“偶数”値で起動する最初の時間ラベルを作るためです。グラフの全感覚によって、起動値は常に最大意の“偶数”の時間値のために選択されます。これは、たとえば、偶数の1 分、30 分、1 時間、1 日、1 週間などということになります。

最初(および最後)の時間線の直線は2 つのメッソドの使用によって手動で調整することもできます。

これらのメソッドは以下のコンスタントのうち1 つを指定することによって作られる直線を許可します。

SetTimeAlign() では、以下のシンボルのコンスタントを使用することができます。

  1. 秒単位の直線
  2. 分単位の直線
  3. 時間単位の直線

SetDateAlign() では、以下のシンボルのコンスタントを使用することができます。

  1. 日単位の直線
  2. 月単位の直線
  3. 年単位の直線

いくつかの例はこれらのメソッドの使用を明確にします。

例 1. 1 時間の偶数の4 分の1 のスタートを調整した時間が欲しい場合、例、偶数の15 分間周期

$graph->xaxis->scale->SetTimeAlign(MINADJ_15);

例 2. 偶数の2 時間で時間をスタートさせたい場合

$graph->xaxis->scale->SetTimeAlign(HOURADJ_2);

例 3. 偶数の1 日で時間をスタートさせたい場合

$graph->xaxis->scale->SetDateAlign(DAYADJ_1);

7.10.1.3 ラベル フォーマットを調整する

デフォルトのラベル フォーマットは常にできるだけ短いユニークな文字列を使用しようとします。手動スケールを手動で設定するには、以下の例のメソッド SetDateFormat() を使用します

$graph->xaxis->scale->SetDateFormat('H:i');

上記の例はラベルに時間(24 時間)と分を表示させます。



図 81:偶数の10 踏んで最初と最後の特定のラベル フォーマットと直線の時間軸を使用します [ソース]

7.10.1.4 密集したデータ スケールを調整する

ライナー スケールで、どの濃度なスケール チックが必要か示すことができます。Graph::SetTickDensity() の呼び出して通常指定されます。

$graph->SetTickDensity(TICKD_DENSE);


目次 前へ 次へ