フォーマットの設定

広告

データ値のフォーマットの設定を行います。ここでいうフォーマットとは表示書式のことです。DisplayValueクラスで用意されている「SetFormat」メソッドを使います。

Specify printf() format string.

Parameter:
  $aFormat  Format for positive values
  $aNegFormat  Format for negative values(Default "")

引数に1つ又は2つのフォーマットを指定します。1つだけ引数を指定した場合は正の値も負の値も同じフォーマットが適用されます。2つ目の引数にもフォーマットを指定した場合には正の値には1番目の引数に指定したフォーマットが適用され、負の値には2番目の引数に指定したフォーマットが適用されます。

フォーマットは「printf」関数で指定可能なフォーマットがそのまま利用できます。

フォーマットの指定はそのまま表示される文字列と変換指定子の組み合わせで指定します。

変換指定子は「%」で始まります。型を指定する場合には「%」の後に次の型指定子を指定します。

型指定子説明
%パーセント文字。引数は不要です
b引数を整数として扱い、バイナリの数値として表現します
c引数を整数として扱い、その ASCII 値の文字として表現します。
d引数を整数として扱い、10 進数として表現します
e引数を科学記法として扱います (例 1.2e+2)
u引数を整数として扱い、符号無しの 10 進数として表現します
f引数を double として扱い、 浮動小数点数として表現します
F引数を float として扱い、 浮動小数点数として表現します
o引数を整数として扱い、8 進数として表現します
s引数を文字列として扱い表現します
x引数を整数として扱い16 進数として (小文字で)表現します
X引数を整数として扱い、6 進数として (大文字で)表現します

他にも桁の指定やパディングの指定などが行えます。詳しくはPHPの「printf」関数の解説をご覧下さい。

例えば次のように記述します。

$lineplot1 = new LinePlot($ydata1);

$lineplot1->value->SetFormat("Val:%d");

この場合は各データ値には「Val:」と言う文字列が先頭に付き、実際の値が「%d」によって変換され10進数の整数として表示されます。

それでは線グラフと円グラフの場合で実際に試してみます。

線グラフ

sample4-1.php

<?php

include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_line.php");

$graph = new Graph(300, 200, "auto"); 
$graph->SetFrame(true);
$graph->SetScale("textlin");

$graph->img->SetMargin(40, 40, 30, 30);

$ydata1 = array(10.2, 4.3, 7.4, -3.1, 6.8);

$lineplot1 = new LinePlot($ydata1);
$lineplot1->value->Show();
$lineplot1->value->SetFormat("[Val:%d]");

$graph->Add($lineplot1);

$graph->Stroke();
?>

上記のPHPファイルをブラウザで開いてみます。ブラウザには次のように表示されます。

線グラフのデータ値にフォーマットを指定

円グラフ

sample4-2.php

<?php

include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_pie.php");

$graph = new PieGraph(300, 200, "auto"); 
$graph->SetFrame(true);

$data = array(45, 23, 18, 32);
$pieplot = new PiePlot($data);
$pieplot->value->SetFormat("%2.3f%%");

$graph->Add($pieplot);

$graph->Stroke();
?>

上記のPHPファイルをブラウザで開いてみます。ブラウザには次のように表示されます。

円グラフのデータ値にフォーマットを指定

( Written by Tatsuo Ikura )