efw Chart コンポーネントサンプル

概要

efwフレームワークは強力なグラフ機能を提供し、シンプルなJSPタグで多種多様なグラフ表示を実現します。このコンポーネントはGoogle ChartsとChart.jsの2つのレンダリングエンジンをサポートし、オンラインとオフライン環境の両方でのグラフ要件に対応できます。

コアファイル

機能特性

1. データテーブル設定

グラフデータはHTMLテーブルで定義され、豊富な設定オプションをサポート:

<table id="chart1_data" 
       data-format="$#,##0" 
       data-legend="bottom" 
       data-ticks="0,200,400,600,800,1000">
    <!-- テーブル内容 -->
</table>

2. グラフレンダリングエンジン

2つのレンダリングモードをサポート:

<!-- Google Charts モード (ネットワーク接続が必要) -->
<efw:Chart mode="googlechart" />

<!-- Chart.js モード (オフライン使用可能) -->
<efw:Chart mode="chartjs" />

3. サポートされるグラフタイプ

JavaScript APIで多種多様なグラフタイプを動的に切り替え:

グラフタイプ 説明 サポートエンジン
area エリアチャート 両方
bar バーチャート 両方
column カラムチャート 両方
donut ドーナツチャート 両方
line 折れ線グラフ 両方
pie 円グラフ 両方
scatter 散布図 両方
stackedarea 積み上げエリアチャート 両方
stackedbar 積み上げバーチャート 両方
stackedcolumn 積み上げカラムチャート 両方
radar レーダーチャート Chart.js

4. 設定オプションコールバック

setoptions属性でグラフ設定情報の取得や設定:

function setChar1Options(options) {
    $("#char1Options").html(JSON.stringify(options));
}

使用説明

1. 基本設定

<efw:Chart 
    id="chart1"                <!-- グラフID -->
    data="chart1_data"         <!-- データテーブルID -->
    type="column"              <!-- 初期グラフタイプ -->
    mode="googlechart"         <!-- レンダリングエンジン -->
    width="400px"             <!-- グラフ幅 -->
    height="300px"            <!-- グラフ高 -->
    setoptions="callbackFunc" <!-- 設定コールバック関数 -->
/>

2. データテーブル仕様

データテーブルは特定の構造に従う必要があります:

3. 動的操作

JavaScript APIでグラフを動的に操作:

// グラフタイプ変更
chart1.setType('pie');

// グラフデータ更新
chart1.draw();

技術的優位性

1. 開発の簡素化

2. デュアルエンジンサポート

3. テーマカスタマイズ

注意事項

  1. ネットワーク依存: Google ChartsモードはGoogleサーバーへのネットワーク接続が必要
  2. ブラウザ互換性: 最適な体験のために現代的なブラウザの使用を推奨
  3. データ量制限: 超大規模データ時はサーバーサイドページネーションの使用を推奨

まとめ

efwグラフコンポーネントは、シンプルで使いやすいグラフソリューションを提供し、宣言的な設定方式でグラフ開発の複雑さを大幅に低減します。単純なデータ可視化でも複雑な業務レポートでも、シンプルなタグ設定で迅速に実現できます。

デュアルエンジンアーキテクチャは機能の豊富さを保証するとともに、オフライン使用の柔軟性を提供し、様々なアプリケーションシナリオの要件に適しています。