アダプティブフォームのグラフ af-charts
表やグラフはデータを視覚的に示す表示域です。大量の情報をわかりやすい視覚的形式で要約し、複雑なデータの視覚化、解釈および分析を改善できます。
AEM Formsアドオンパッケージには、すぐに使用できるグラフコンポーネントが用意されています。アダプティブフォームとドキュメントで、繰り返し可能なパネル や テーブル で 2 次元データを視覚的に表現するのに使用できます。グラフコンポーネントを使用すると、次のタイプのグラフを追加および設定できます。
- 円グラフ
- 列グラフ
- ドーナツグラフ
- 棒グラフ
- 線グラフ
- 線とポイントグラフ
- ポイントグラフ
- 領域グラフ
グラフコンポーネントでは、グラフの値を計算およびプロットする組み込みの統計関数(sum、mean、maximum、minimum、mode、median、range、frequency)をサポートし提供します。すぐに使用できる関数に加え、独自のカスタム関数を作成して、グラフで使用できるようにすることができます。
次に、グラフコンポーネントを追加して設定する方法を見てみましょう。
グラフの追加 add-chart
グラフコンポーネントは、デフォルトでは AEM のサイドバーで使用できます。グラフコンポーネントは、オーサリングモードで AEM サイドバーからアダプティブフォームやドキュメントにドラッグ&ドロップできます。このコンポーネントをドロップすると、グラフのプレースホルダーが作成されます。
グラフの設定 configure-chart
グラフを設定するには、グラフコンポーネントをクリックし、「 」をクリックして、グラフを編集ダイアログを開きます。このダイアログには、グラフの設定に使用できる「タイトルとテキスト」、「設定」、「詳細オプション」、「スタイル設定」の各タブが含まれます。
基本 basic
「基本」タブでは、次のプロパティを設定できます。
- 要素名:JCR コンテンツ構造内のグラフ要素の識別子。グラフには表示されませんが、他のコンポーネント、スクリプトおよび SOM 式から要素を参照する際に役立ちます。
- グラフのタイプ:生成するグラフのタイプを指定します。使用可能なオプションには、円グラフ、ドーナツグラフ、棒グラフ、列グラフ、線グラフ、線とポイントグラフ、ポイントグラフ、領域グラフがあります。この例では、グラフのタイプは列です。
- データソースの行名またはパネル名を繰り返す:データのソースとなるテーブル行または繰り返し可能なパネルの要素名を指定します。この例では、statementDetails が、Statement Details テーブルの繰り返し可能な行の要素名です。
- X 軸/タイトル:X 軸のタイトルを指定します。この例では、X 軸のタイトルは Category です。
- X 軸/フィールド:X 軸にプロットするフィールド(またはテーブル内のセル)の要素名を指定します。この例では、X 軸にカテゴリが設定されています。この例のテーブルの Category 列にあるテーブルセルの要素名は category です。
- X 軸/関数を使用:X 軸の値の計算に使用する統計関数を指定します。この例では、「なし」が選択されています。関数について詳しくは、グラフでの関数の使用を参照してください。
- Y 軸/タイトル:Y 軸のタイトルを指定します。この例では、Y 軸のタイトルは Expense です。
- Y 軸/フィールド:Y 軸にプロットするフィールド(またはテーブル内のセル)の要素名を指定します。例では、Y 軸にamount を設定しています。この例のテーブルの Amount 列にあるテーブルセルの要素名は amount です。
- Y 軸/関数:Y 軸の値の計算に使用する統計関数を指定します。この例では、各カテゴリの支出を加算され、計算値が Y 軸にプロットされます。したがって、関数ドロップダウンリストから「Sum」を選択します。関数について詳しくは、グラフでの関数の使用を参照してください。
- 凡例の位置:グラフに対する凡例の位置を指定します。使用できるオプションは、右端、左端、上、下です。
- 凡例を表示:有効にすると、グラフの凡例を表示します。
- ツールヒント:グラフ内のデータポイントにマウスを置くと表示されるツールヒントの形式を指定します。デフォルト値は ${x}(${y}) です。グラフのタイプに応じて、グラフのポイント、棒、スライスにマウスを置くと、変数 ${x} および ${y} が、X 軸上と Y 軸上の対応する値に動的に置き換えられ、ツールヒントに表示されます。次の例に示すように、Retails Stores の列にマウスを置くと、Retail Stores(5870) というツールヒントが表示されます。ツールヒントを無効にするには、「ツールヒント」フィールドを空白のままにします。このオプションは線グラフと領域グラフには適用できません。
- グラフ固有の設定:共通の設定に加えて、次のようなグラフ固有の設定を使用できます。
- 内半径:ドーナツグラフで使用できます。グラフの内側の円の半径をピクセル単位で指定できます。
- 線の色:線グラフ、線と点グラフおよび領域グラフで使用できます。グラフの線の色を 16 進値で指定できます。
- 点の色:線と点グラフや点グラフで使用できます。グラフの点の色を 16 進値で指定できます。
- 領域の色:領域グラフで使用できます。グラフ内の線の下にある領域の色を 16 進値で指定できます。
- CSS クラス:「CSS クラス」フィールドに CSS クラスの名前を指定すると、グラフにカスタムスタイルを適用できます。
設定 configuration
「基本」タブでは、グラフのタイプ、データを含んだソースパネルまたはテーブル行、およびグラフの X 軸と Y 軸にプロットする値を定義します。オプションで、グラフにプロットする値を計算するための統計関数も定義できます。
クレジットカード明細での繰り返し可能なテーブルを例にして、このタブで指定する情報について詳しく見てみましょう。以下に示すように、カテゴリごとの総支出を表して関連付けするグラフをクレジットカード明細の詳細セクションに生成する場合を考えます。
これを行うには、X 軸にカテゴリをプロットし、Y 軸にカテゴリごとの総支出をプロットする必要があります。
この例で使用されているクレジットカード明細はアダプティブフォームドキュメントです。明細の詳細セクションはテーブルで、オーサリングモードでは次のように表示されます。
次に、グラフを生成するための要件と条件について考えてみましょう。
-
このグラフには、Statement Details テーブルのカテゴリごとの総支出が表示されます。
-
グラフのタイプは列になっていますが、必要に応じて他のグラフのタイプも選択できます。
-
Statement Details テーブルの Table 行は繰り返し可能です。これは、「テーブルの行」プロパティの「設定を繰り返し」フィールドで設定できます。
-
行の要素名は Statement Details です。これは、「テーブルの行」プロパティで設定できます。
-
Category 列のテーブルセルの要素名は category です。これはインラインで指定できます。セルを選択し、編集ボタンをタップします。
-
Amount 列のテーブルセルの要素名は amount です。また、Amount 列のテーブルセルは数値ボックスです。
-
指定した設定を使用すると、例の列グラフは次のように表示されます。それぞれの色はカテゴリを表し、カテゴリの個々の行項目または金額がグラフで合計されます。
凡例とツールヒントは次のように表示されます。
スタイル設定 styling
スタイルモードでは、グラフの幅をフォームまたはドキュメント全体の幅に対する割合(%)で設定できます。グラフの高さはピクセルで設定できます。その他のオプションには、テキスト、背景、境界線、効果、CSS 上書きなどがあります。
スタイルモードに切り替えるには、ページのツールバーで「>>スタイル」をタップします。
グラフで関数を使用 use-functions
統計関数を使用するようにグラフを設定し、ソースデータの値を計算して、グラフにプロットすることができます。グラフコンポーネントにはいくつかの関数が組み込まれていますが、独自の関数を作成してグラフの設定に使用できます。
デフォルトの関数 default-functions
デフォルトでは、次の関数をグラフコンポーネントに使用できます。
- 平均:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の平均値を返します。
- 合計:X 軸または Y 軸の値を指定したとき、もう一方の軸にあるすべての値の合計を返します。
- 最大:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の最大値を返します。
- 頻度:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の数を返します。
- 範囲:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の最大値と最小値の差異を返します。
- 中央値:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値を上位の値都会の値の中央になる値を返します。
- 最小:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の最小値を返します。
- モード:X 軸または Y 軸の値を指定したとき、もう一方の軸にある値の中で最も多く出現する値を返します。
カスタム関数 custom-functions
グラフでデフォルトの関数を使用するだけでなく、JavaScript でカスタム関数を作成し、グラフコンポーネントの関数リストに追加できます。
関数は入力された配列または値とカテゴリ名を使用して、値を返します。例:
Multiply(valueArray, category) {
var val = 1;
_.each(valueArray, function(value) {
val = val * value;
});
return val;
}
カスタム関数を作成したら、次の手順を実行して、グラフの設定で使用できるようにします。
-
アダプティブフォームまたはドキュメントに関連付けられているクライアントライブラリにカスタム関数を追加します。
-
CRXDE Lite で、次のプロパティを持つ nt:unstructured ノードを apps フォルダーに作成します。
- guideComponentType を fd/af/reducer に設定します。(必須)
- カスタム JavaScript 関数の完全修飾名に値を設定します。(必須)
- jcr:description を意味のある名前に設定します。これは、「関数を使用」ドロップダウンリストに表示されます。例えば、Multiply と表示されます。
- qtip に関数の短い説明を設定します。「関数を使用」ドロップダウンリストの関数名にポインタを合わせると、ここで指定した説明がツールヒントとして表示されます。
- 「すべて保存」をクリックして設定を保存します。
- これで関数をグラフで使用できるようになります。
グラフの自動更新 auto-refresh-chart
ユーザーが次のいずれかの操作を行うと、グラフが自動的に更新されます。
- データソースパネルまたはテーブルの行のインスタンスを追加または削除します。
- データソースパネルまたはテーブルの行の X 軸または Y 軸にプロットされた値を変更します。
- グラフのタイプを変更します。
アダプティブフォームルールでグラフのタイプを使用します。 chart-in-rules
chartType プロパティでグラフのタイプを指定します。使用できる値は pie、donut、bar、line、linepoint、point、area です。これはスクリプト対応プロパティであり、アダプティブフォームルールで使用して、グラフの設定を操作できます。例を示して説明します。
列グラフを設定した場合について考えてみましょう。ただし、別のタイプのグラフをドロップダウンリストから選択して再描画するオプションをユーザーに提供する必要もあります。これを行うには、ルールで chartType プロパティを次のように使用します。
-
AEM サイドバーからアダプティブフォームにドロップダウンリストコンポーネントをドラッグ&ドロップします。
-
コンポーネントを選択して、「 」をタップします。
-
ドロップダウンリストのタイトルを指定します。例えば、グラフのタイプを選択します。
-
サポートされているグラフのタイプを「項目」セクションに追加して、ドロップダウンリストに表示します。「完了」をクリックします。
-
ドロップダウンコンポーネントを選択し、「 」をタップします。ルールエディターで、以下に示すように、ルールをビジュアルルールエディターに記述します。
この例では、グラフコンポーネントの要素名は myChart になっています。
または、コードエディターで次のルールを記述できます。
ルールの作成について詳しくは、ルールエディターを参照してください。
-
「完了」をクリックして、ルールを保存します。
これで、ドロップダウンリストからグラフのタイプを選択し、「更新」をクリックしてグラフを再描画できます。