i ntra-mart The Power for Enterprise Web Solution
グラフ描画・モジュール

機能概要

入力データをもとに画像ファイルを作成して、ブラウザ画面上にグラフ画面を表示します。

以下の5種類のグラフがサンプルとして用意されています。

  • 折れ線グラフ
  • 棒グラフ
  • 円グラフ
  • レーダーチャート
  • ポートフォリオ

API仕様

intra-mart 標準 タグライブラリ の drawer タグを利用します。

drawer タグの属性 data にjp.co.intra_mart.foundation.drawer.AbstractDrawer を スーパークラスとしたインスタンスを渡すことによりグラフの画像ファイルをHTMLに表示します。

AbstractDrawerをスーパークラスとした、グラフ描画クラスは以下の5種類です。

クラスグラフの種類
jp.co.intra_mart.foundation.graph.BarGraphDrawer 棒グラフ
jp.co.intra_mart.foundation.graph.CircleGraphDrawer 円グラフ
jp.co.intra_mart.foundation.graph.LineGraphDrawer 折れ線グラフ
jp.co.intra_mart.foundation.graph.PortFolioDrawer ポートフォリオ
jp.co.intra_mart.foundation.graph.RadarChartDrawer レーダーチャート


グラフ作成例

<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%@ taglib prefix="imarttag" uri="http://www.intra-mart.co.jp/taglib/core/standard" %>
<%@ page import="jp.co.intra_mart.foundation.graph.*" %>
<%@ page import="java.awt.Color" %>
<%
  // 棒グラフの作成
  BarGraphDrawer drawerBar = new BarGraphDrawer(0, 60, 10);
  drawerBar.setWidth(300);
  drawerBar.setHeight(300);
  drawerBar.setCaption(new String[]{"1月", "2月", "3月"});

  BarGraphObject objBar = new BarGraphObject(Color.black);
  objBar.addData(50);
  objBar.addData(10);
  objBar.addData(30);
  drawerBar.addData(objBar);
%>
<HTML>
  <BODY>
    <imarttag:drawer data="<%= drawerBar %>" />
  </BODY>
</HTML>



描画された棒グラフ(例)


新しいグラフの作成

グラフを新規に作成する場合、AbstractDrawerを利用します。
AbstractDrawerを継承したクラスを作成し、createImageメソッドをオーバーライドしてください。

public class MyGraphDrawer extends AbstractDrawer {

  public MyGraphDrawer(
    super();
  }

  protected void createImage(Graphics g) {

    g.setColor(Color.red);
    g.drawLine(0, 0, getWidth() - 1, getHeight() - 1);

    g.setColor(Color.blue);
    g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);

    .
    .
    .
    .
  }
}

createImageメソッドには画像描画の実行部分を記述します。
引数のグラフィックコンテキストに対して、グラフイメージを描画してください。

グラフのプログラムソースはインストールディレクトリ/sourceに格納されています。
具体的な記述方法はプログラムソースを参照してください。
AbstractDrawerの詳細についてはアプリケーション共通モジュールを参照してください。


Headless のサポート

X11を搭載していないUNIXなどのOSは、グラフィックスをサポートしていないため通常グラフモジュールを使用することができません。 但し、ヘッドレスモードをサポートしているJava VMを使用している場合、Java環境変数を設定することにより非グラフィックス環境の場合でも グラフモジュールを使用することが可能です。

i ntra-mart BaseModule の場合は、/conf/imart.xmlの以下の場所にJava環境変数を追加してください。

    .
    .
<command>
  <exefile>C:/j2sdk1.4.2_XX/bin/java</exefile>
  <option>-cp %SYSTEMCLASSPATH% -Xms%XMS% -Xmx%XMX% -Djava.awt.headless=true</option>
  <argument/>
</command>
    .
    .

i ntra-mart Frameworkの場合は、同様のJava環境変数をウェブアプリケーションサーバに設定してください。 Java環境変数の設定方法については、ウェブアプリケーションサーバのマニュアルを参照してください。

Copyright(C) NTT DATA INTRAMART CO.,LTD. 2000-2006 All Rights Reserved.