目次 前へ 次へ

7.12 グラフにテキスト文字列を追加する

JpGraph では、グラフの任意の位置にテキスト文字列を追加できます。テキストは複数行に渡ることが可能で、段落揃えも指定できます。

テキストを追加するには、Text() オブジェクトのインスタンスを作成し、AddText()メソッドを使ってテキスト オブジェクトをグラフに追加します。

テキスト ボックスの位置はグラフの横と縦に対する割合で指定します。また、テキスト ボックスを配置する時には、テキスト ボックスのどの部分が指定した位置に対応しているのかを指定する必要があります。

デフォルトでは、テキスト ボックスの左上部が使用されます。

テキストの位置を変更する方法を説明するために、とてもシンプルなバー プロットを使用します。まずは、ほとんどの値をデフォルトのままにして、1 行のテキストをグラフに追加してみましょう。

$txt=new Text("This is a text");
$txt->Pos(0,0);
$txt->SetColor("red");
$graph->AddText($txt);

この結果を以下に表します



図 89:テキスト文字列を左上部に追加する [ソース]

簡単なことです。次に、背景色を加えてフォントを大きくしたテキスト ボックスを作成しましょう。また、テキスト ボックスの周囲にはフレームを設置し、ドロップシャドウを追加してみましょう。テキスト ボックスの調整には、SetBox() メソッドと SetBox()メソッドを使用します。



図 90:テキストをより効果的にする [ソース]

もっと良くなりました。ここで、注目します。 複数行のテキストを追加する場合は、各行の後に改行文字 (\n) を付け加えます。デフォルトでは段落は左揃えですが、右揃えや中央揃えを指定することもできます。

今回は、先ほどのテキストに数行を追加して、テキスト ボックスをグラフの中央に配置してみましょう。同時に、段落揃えを中央揃えに設定します。段落揃えを設定するには、Text::ParagraphAlign()メソッドを使用します。



図 91:複数の行があり、段落が中央揃えになっている場合 [ソース]

もちろん、グラフに追加できるテキスト文字列に制限はありません。

JpGraph のバージョン 1.12 からは、スケール座標を用いてテキスト文字列を追加できるようになりました。これは、 Text::SetScalePos() メソッドを使います。


目次 前へ 次へ