プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle ADF FacesによるWebユーザー・インタフェースの開発
12c (12.2.1.2.0)
E82917-02
目次へ移動
目次

前
次

23 チャート・コンポーネントの使用方法

この章では、ADFデータ視覚化チャート・コンポーネントを使用し、簡単なUI優先開発を使用してグラフでデータを表示する方法について説明します。チャート・コンポーネントには、面グラフ、棒グラフ、バブル・チャート、組合せグラフ、ファンネル・チャート、折れ線グラフ、円グラフ、散布図、スパーク・チャートおよび株価チャートがあります。この章では、データ要件、タグ構造、およびコンポーネントの見え方や動作をカスタマイズするためのオプションを定義します。

アプリケーションでFusionテクノロジ・スタックを使用する場合、データ・コントロールを使用してグラフを作成できます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

この章の内容は次のとおりです。

23.1 チャート・コンポーネントについて

DVTチャート・コンポーネントは、複数の軸上でデータ・ポイントを評価する一連のデータ表示です。複数のグループ間で結果を比較する、株式情報を表示する、円グラフで比較を示すなど、多くの点で役に立つ各種のフォームで表現されます。

チャートには、データの系列とグループが表示されます。系列とグループは、データのグリッドの行と列にたとえることができます。通常、グリッドの行はチャートの系列として表示され、グリッドの列はグループとして表示されます。

大半のチャートでは、系列は同じ色のマーカーのセットとして表示されます。通常、チャートの凡例に、各系列の識別子と対応する色が表示されます。たとえば、棒グラフで黄色の棒が靴の売上げを示し、緑色の棒がブーツの売上げを示す、などです。

グループの表示は、チャート・タイプによって異なります。たとえば、積上げ棒グラフでは、各積層がグループです。グループは年などの期間を表す場合もあります。グループが地域などの地理上の場所を表す場合もあります。

グラフ・タイプのデータ要件によって、1つのデータ・アイテムに複数のデータ値が必要な場合があります。たとえば、散布図では、データ・マーカーごとに2つの値が必要です。1つ目の値はX軸上のマーカーの位置を決め、2つ目の値はY軸上のマーカーの位置を決めます。

23.1.1 チャート・コンポーネントのユースケースおよび例

チャート・コンポーネントには、データを表示するために使用できる10タイプのグラフがあり、1つ以上のバリエーションがあります。JDeveloperは、使用可能なグラフのカテゴリを表示する「コンポーネント」ウィンドウを提供しています。図23-1に、面グラフ、棒グラフ、バブル・チャート、組合せグラフ、ファンネル・チャート、折れ線グラフ、円グラフ、散布図、スパーク・チャートおよび株価チャートの「コンポーネント」ウィンドウを示します。

図23-1 チャートの「コンポーネント」ウィンドウ

この図については周囲のテキストで説明しています。

「コンポーネント」ウィンドウでグラフのカテゴリを選択すると、JDeveloperで使用可能なグラフ・タイプに関する説明を含むダイアログが表示され、グラフの作成時に視覚的支援が提供されます。図23-2に、「コンポーネント」ウィンドウで「面」グラフを選択した場合に使用できる各種面グラフ・タイプとレイアウトを示します。

図23-2 面グラフの作成ダイアログの面グラフ・タイプ

この図については周囲のテキストで説明しています。

グラフのカテゴリは、次のとおりです。

  • 面: データを塗りつぶされた面として表します。面チャートを使用して、過去12か月の売上げなど、ある期間の傾向を示します。面チャートでは、1つの軸上に最低2グループのデータが必要です。軸には、月などの時間の経過を表すラベルが付けられることがよくあります。

    面グラフでは、次の種類のデータ値を表します。

    • 絶対: 各面マーカーは、一連の(2つ以上の)データ値を結びます。

    • 積上げ: 面マーカーが積み上げられます。各データ・セットの値は前のセットの値に加算されます。積層のサイズが累積合計を表します。

      ヒント:

      絶対グラフよりも積上げグラフをお薦めします。絶対グラフの面は、面のデータ値によっては、他の面と視覚的に区別しにくいことがあります。

    • 分割二重Y: 二重軸グラフが2つの部分に分割されます。特定の軸に固有の領域マーカーは、関連する部分にのみプロットされます。絶対グラフおよび積上げグラフの両方に適用されます。

    • 範囲: 領域マーカーおよび領域の範囲は高値と低値によって判別されます。

    面グラフのすべてのバリエーションは、単一Y軸または二重Y軸で構成できます。

    図23-3に、水平の面グラフと、デカルト座標および極座標系の面グラフの例を示します。サンプルの分割二重Y面グラフおよび範囲面グラフも表示されています。

    図23-3 面グラフの例

    この図については周囲のテキストで説明しています。
  • 棒: データを一連の縦棒で表します。棒グラフを使用して、ある期間の傾向の確認や複数の地域での異なる製品区分の売上げなど、同一時点での項目の比較を行います。

    棒グラフでは、次の種類のデータ値を表します。

    • 集合: 棒の各まとまりが1グループのデータを表します。たとえば、データが従業員で分類されている場合、特定の従業員の給与の棒と歩合の棒が1つのまとまりとなります。この種のグラフのバリエーションとして、集合縦棒グラフと集合横棒グラフがあります。

    • 積上げ: 各データ・セットの棒が前のデータ・セットに追加されます。積層のサイズがデータの累積合計を表します。

    • 分割二重Y: 二重軸グラフが2つの部分に分割されます。特定の軸に固有の棒は、関連する部分にのみプロットされます。絶対グラフおよび積上げグラフの両方に適用されます。

    • 範囲: 棒はX軸から開始されません。棒の始まりと終わりは高値および低値によって判別されます。財務トラッキングのためにウォータフォール・グラフを作成する場合に役立ちます。

    棒グラフのすべてのバリエーションは、単一Y軸または二重Y軸で構成できます。棒グラフはorientation属性を使用して水平に表示することもできます。

    図23-4に、「二重-Y積上げ棒」グラフが選択された棒グラフの作成ダイアログに表示されている、棒グラフ・タイプのバリエーションを示します。

    図23-4 棒グラフ・タイプ

    この図については周囲のテキストで説明しています。

    図23-5に、水平の棒グラフと、デカルト座標および極座標系の棒グラフの例を示します。サンプルの分割二重Y棒グラフおよび範囲棒グラフも表示されています。

    図23-5 棒グラフの例

    この図については周囲のテキストで説明しています。
  • バブル: 円形のデータ・マーカー(バブル)の位置とサイズでデータを表します。(データ・アイテムが多数あり、全体の関係を表示する場合は特に)バブル・チャートを使用して3種類の値の相関関係を示します。たとえば、バブル・チャートを使用して、従業員の給与(X軸)、経験年数(Y軸)と生産性(バブルのサイズ)をプロットします。このようなチャートでは、生産性を給与および経験と比較して調べることができます。

    図23-6に、デカルト座標および極座標系のバブル・チャートの例を示します。

    図23-6 バブル・チャートの例

    この図の詳細は、周辺の説明を参照してください。
  • 組合せ: 異なるタイプのデータ・マーカー(棒、線または面)を使用して、異なる種類のデータ・アイテムを表示するグラフ。組合せグラフを使用して、棒と線、棒と面、線と面あるいは3つすべての組合せを比較します。組合せグラフは積み上げて表示して、累積合計を表すこともできます。

    図23-7に、デフォルトのグラフが選択された組合せグラフの作成ダイアログに表示されている、組合せグラフ・タイプのバリエーションを示します。組合せグラフは、単一Y軸または二重Y軸で構成でき、積み上げることができます。二重Y軸組合せグラフは分割軸を使用して構成できます。

    図23-7 組合せグラフ・タイプ

    この図の詳細は、周辺の説明を参照してください。

    図23-8に、デカルト座標および極座標系の組合せグラフの例を示します。

    図23-8 組合せグラフの例

    この図については周囲のテキストで説明しています。
  • ファンネル: プロセスの段階に関連するデータを視覚的に表します。ステップは、垂直方向または水平方向の円錐形セクションをスライスしたものとして表示されます。通常、ファンネル・チャートには、ある区切りの値(時間など)に対する実際の値が必要です。比較に指定されたオプションのターゲットの値。ターゲットの値が指定されると、実際の値がその割当てに近づくにつれて、指定されたステップまたはスライスが塗りつぶされます。たとえば、ファンネル・チャートを使用して、ファンネルの異なるセクションが販売周期の異なる段階を表すプロセスを表示します。

    図23-9に、垂直および水平ファンネル・チャートの例を示します。

    図23-9 ファンネル・チャートの例

    この図については周囲のテキストで説明しています。
  • 折れ線: データを線、一連のデータ・ポイントまたは線で結ばれたデータ・ポイントとして表します。折れ線グラフには、グループ内のメンバーごとに最低2つのポイントを表すデータが必要です。たとえば、月単位の折れ線グラフでは、少なくとも2つの月のデータが必要です。通常、特定の色の線は、アメリカ、ヨーロッパ、アジアなどのデータの各グループに関連付けられています。折れ線グラフを使用して、同一期間の項目を比較します。折れ線グラフは、単一Y軸または二重Y軸で構成できます。二重Y軸は、分割二重Y折れ線グラフとして構成できます。

    図23-10に、水平の折れ線グラフとサンプルの分割二重Y折れ線グラフ、およびデカルト座標と極座標系の折れ線グラフの例を示します。

    図23-10 折れ線グラフの例

    この図については周囲のテキストで説明しています。
  • 円: 合計に対する比率としてデータ・アイテム・セットを表します。データ・アイテムが円のセクションとして表示され、円が切り分けられたパイのように見えます。円グラフを使用して、各製品ラインからの収益など、全体に対する各部分の関係を表します。円グラフも、チャートの中心に空白の領域があるドーナツ・グラフとしてカスタマイズできます。

    図23-11に、グラフのラベルが付いた、リングおよびドーナツ・グラフと円グラフの例を示します。

    図23-11 円グラフの例

    この図については周囲のテキストで説明しています。
  • 散布: データをデータ・マーカーの位置で表します。散布図を使用して、上位製品の売上げとコストなど、異なる2種類のデータ値の相関関係を表します。多数の項目の全体的な関係を表す場合は特に散布図を使用します。

    図23-12に、デカルト座標および極座標系の散布図の例を示します。

    図23-12 散布図の例

    この図については周囲のテキストで説明しています。
  • スパーク: 傾向や変化を1つのデータ値で表す簡単な縮小グラフで、通常、表の列内や関連テキストの行中に表示されます。スパーク・チャートには、基本的な条件付書式設定があります。スパーク・チャートにラベルが含まれていないため、近くの表の列や周囲のテキストによってスパーク・チャートの内容のコンテキストがわかります。

    図23-13に、デフォルトのグラフを選択したスパーク・チャートの作成ダイアログに表示されているスパーク・チャート・タイプのバリエーションを示します。

    図23-13 スパーク・チャート・タイプ

    この図については周囲のテキストで説明しています。

    図23-14に、棒グラフ、折れ線グラフ、面グラフおよびフローティング棒スパーク・チャートの例を示します。

    図23-14 スパーク・チャートの例

    この図については周囲のテキストで説明しています。
  • 株価: 株式取引に関連する情報(特に株価の始値、終値、安値および高値)を表示します。株価チャートは、株式の価格、変動および出来高の傾向を調査するために使用します。選択したチャートのタイプに応じて、各株価マーカーには2つまたは4つの値が表示され、オプションの出来高マーカーは表示されません。出来高を含む場合、出来高はグラフの下部に棒で表示されます。

    図23-15に、「始値 - 終値のローソク足」グラフが選択された株価チャートの作成ダイアログに表示されている、株価チャート・タイプのバリエーションを示します。

    図23-15 株価チャートのタイプ

    この図については周囲のテキストで説明しています。

    図23-16に、株価チャートの例を示します。

    図23-16 株価チャートの例

    この図については周囲のテキストで説明しています。

23.1.2 グラフのエンド・ユーザー機能およびプレゼンテーション機能

グラフのエンド・ユーザー機能および構成可能なプレゼンテーション機能には、豊富なオプションが揃っています。

23.1.2.1 グラフのデータ・ラベル

データ・ラベルを使用して、データ・ポイントに関する情報を表示します。テキスト、位置およびスタイルをカスタマイズできます。

図23-17に、データ・ラベルを表示するように構成したバブル・チャートおよび散布図を示します。バブル・チャートでは、バブルの中央にグループの値が表示されます。散布図では、ラベルの位置は系列によって異なります。最初の系列では、ラベルは系列マーカーの下にあります。2番目の系列はautoに設定されているので、マーカーの後ろにラベルが表示されます。3番目の系列のラベルは系列マーカーの前にラベルを表示するように構成されており、4番目の系列のラベルはマーカーの上にラベルが表示されます。

図23-17 グラフのデータ・ラベル

この図の詳細は、周辺の説明を参照してください。

23.1.2.2 グラフの要素ラベル

ほとんどのチャート・コンポーネントおよびサブコンポーネントに、タイトル、サブタイトル、軸ラベル、脚注および凡例を含め、説明用のラベルを追加できます。

図23-18に、タイトルおよびサブタイトルを表示するように構成された棒グラフを示します。グラフは、X軸、Y軸、凡例および脚注にもタイトルを表示するように構成されます。

図23-18 グラフ、X軸、Y軸および凡例用のラベルを付けて構成された棒グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.3 グラフのサイズ変更

グラフのサイズの制御にクライアント側レイアウト管理を使用します。グラフでは、グラフのコンテナのサイズが自動的に調整され、コンテナのサイズを変更すると、グラフのサイズを変更できます。inlineStyleまたはstyleClass属性を使用して、グラフのサイズを指定することもできます。

図23-19に、af:panelSplitterおよびdvt:barChartコンポーネントで構成されたページの比率を示します。スプリッタをドラッグすると、棒グラフのサイズを変更できます。

図23-19 パネル・スプリッタのドラッグによりサイズ変更された棒グラフ

この図の詳細は、周辺の説明を参照してください。

水平または垂直に制限された領域(Webページのサイドバーなど)にグラフが表示される場合、グラフは機能は揃っているものの、簡易表示で表示されます。

23.1.2.4 グラフの凡例

グラフの凡例は、グラフの系列および関連する色を識別します。図23-20に、凡例付きで構成された円グラフを示します。この例では、系列の数が凡例の領域よりも多く、凡例の項目をスクロールしてグラフの系列をすべて表示できます。

図23-20 スクロール可能な凡例付きの棒グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.5 グラフのスタイル

グラフでは、系列、マーカー、線およびデータ・アイテムをカスタマイズするための色、サイズおよびテキストのスタイルがサポートされています。図23-21に、系列アイテムおよび枠線にカスタム・カラーを設定して構成された面グラフおよびカスタム・マーカーで構成された散布図を示します。

図23-21 色およびマーカーのスタイルを示すグラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.6 グラフの系列の非表示

ユーザーが凡例の系列アイテムをクリックすると系列アイテムをビューから非表示にできるように、グラフを構成できます。その結果表示されるグラフはサイズを変更することも、サイズを変更せずにレンダリングすることもできます。

図23-22に、系列を表示した場合と非表示にした場合の棒グラフを示します。グラフの凡例のMaxInStock系列アイテムをクリックすると、その系列は表示されなくなります。凡例は、ビューからどの系列アイテムが非表示になっているかを示すように変更されます。その系列アイテムを再度クリックすると、系列の表示をリストアできます。

図23-22 系列を表示した場合と非表示にした場合の棒グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.7 グラフの参照オブジェクト

グラフの軸の指定した場所または領域に、参照線または領域を追加できます。

図23-23に、Y軸に沿って参照線と参照領域を表示するように構成された棒グラフの例を示します。この例では、グラフはY軸の25に緑色の参照線を表示するように構成されています。参照領域は95の最小値と140の最大値間のすべての値を青色で表示するように構成されています。

図23-23 参照線および参照領域を付けて構成された棒グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.8 グラフの系列の効果

デフォルトでは、グラフの系列にグラデーションが適用されています。グラデーションを削除して、平坦なデザインにしたり、パターンで系列を表示したりできます。図23-24に、系列に効果を使用して構成された3つの面グラフを示します。

図23-24 系列に効果を使用して構成された面グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.9 グラフの系列のカスタマイズ

グラフの個々の系列の外観をカスタマイズできます。グラフ・タイプによっては、色、マーカー、線および塗りつぶし効果をカスタマイズできます。組合せグラフの場合、系列はグラフであり、表示するグラフを指定することもできます。

図23-25に、カスタマイズされた系列を使用して構成されたバブル・チャート、散布図、折れ線グラフおよび組合せグラフを示します。これらのグラフには、系列の色、線およびマーカーをどのようにカスタマイズできるかが示されます。この組合せグラフには、系列タイプを構成してどのように面グラフ、棒グラフおよび折れ線グラフを表示できるかについても示されています。

図23-25 グラフの系列のカスタマイズ

この図の詳細は、周辺の説明を参照してください。

23.1.2.10 グラフのデータ・カーソル

グラフにデータ・カーソルを追加できます。これを移動すると、データ・ポイントの詳細を表示できます。

図23-26に、データ・カーソルを使用して構成された折れ線グラフを示します。この例では、グラフの4番目のグループで3番目の系列の詳細を表示するように選択されています。

図23-26 データ・カーソルを使用して構成された折れ線グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.11 グラフの時間軸

グラフのデータが日付に基づいている場合、時間軸の使用がサポートされています。たとえば、時間軸を使用して、毎日の売上げを表示できます。時間データは定期的な時間間隔にも定期的でない時間間隔にも対応できます。時間軸は、系列によってタイム・スタンプが異なる、混在した頻度の時間データもサポートしています。

図23-27に、時間軸を使用して構成された4つのグラフを示します。横棒グラフの時間軸には定期的な月次データが含まれていて、ネストされたラベルで年月を表示するように構成されています。定期的ではない間隔の棒グラフには、定期的でない年の間隔で構成された時間軸が表示されています。skipGaps棒グラフには、定期的でない年の間隔の棒のない空間を削除するように構成された時間軸が表示されています。組合せグラフには、系列によって異なる時間データを持つ、混在した頻度の時間軸が表示されています。

図23-27 時間軸を使用して構成されたグラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.12 グラフのカテゴリ軸

グラフにカテゴリ軸を構成すると、複数のグループがドリル可能な階層構造で配置されます。ラベルやツールチップなどのカスタム・スタイルを使用して、これらのグループを強化できます。図23-28に、カテゴリ軸の付いた棒グラフと面グラフを示します。面グラフの軸には、スタイル設定されたデータ・グループ・ラベルと不規則な階層分布があります。

図23-28 階層データ・グループおよびラベル

棒グラフのグループ・ラベルには、階層分布とデフォルトのスタイル設定もあります。面グラフには、不規則な分布とカスタム・スタイルが適用されています。

チャート・グループ・ラベルは、カスタムCSSスタイルとツールチップ・サポートをサポートしています。図23-29に示す棒グラフでは、グループ・ラベルでフォントと背景色が異なり、棒にカーソルを置いたとき表示される一連のツールチップから、カスタムのツールチップが分かれています。

図23-29 カスタム・ラベル・スタイルとツールチップ

チャート・グループ・ラベルには、カスタムの背景色とフォント色、およびカスタム・ツールチップがあります。

23.1.2.13 グラフのポップアップおよびコンテキスト・メニュー

af:showPopupBehaviorタグを使用して、ポップアップまたはコンテキスト・メニューを表示するようにグラフを構成できます。

図23-30に、ユーザーがグラフをクリックしたときにポップアップを表示するように構成された棒グラフを示します。ポップアップはノート・ウィンドウに出力メッセージを表示します。

図23-30 ポップアップを表示する棒グラフ

この図については周囲のテキストで説明しています。

23.1.2.14 グラフ選択のサポート

バブル・チャートのバブルや散布図の形状など、グラフではデータ・マーカーの単一または複数の選択を有効にできます。ポップアップおよびコンテキスト・メニューを表示したり、ユーザーがデータ・マーカーをクリックしたときにプログラムで応答したりするには、選択を有効にする必要があります。

図23-31に、複数選択を有効にした円グラフを示します。各データ・マーカーは、その上を移動すると強調表示され、マーカーが選択可能であることが視覚的に示されます。[Ctrl]キーを押すと、選択にスライスを追加したり、選択からスライスを削除したりできます。

図23-31 選択が有効になっている円グラフ

この図の詳細は、周辺の説明を参照してください。

特に円グラフには、選択したスライスをより強調する複数の選択効果があります。

図23-32に、highlightexplodeおよびhighlight with explodeの選択効果を含む円グラフを示します。

図23-32 円グラフの選択効果

この図の詳細は、周辺の説明を参照してください。

23.1.2.15 グラフのズームおよびスクロール

グラフには、ビューポートまたは単純なスクロールバーでスクロールする機能があります。この機能は、大量のデータが含まれているグラフの場合に役立ちます。

図23-33に、ビューポートを使用してスクロールするように構成された折れ線グラフを示します。ユーザーがマスターの折れ線グラフのビューポートを移動すると、詳細なグラフが変化し、選択した範囲を表示します。

図23-33 ビューポートでスクロールするように構成された折れ線グラフ

この図の詳細は、周辺の説明を参照してください。

グラフ上でマウスを置くと表示される「マーキー・ズーム」アイコンをクリックして、指定した期間にズーム・インするように選択することもできます。図23-34に、「マーキー・ズーム」を構成したバブル・チャートを示します。ある領域にマウスをドラッグし、グラフの選択した領域にズーム・インします。

図23-34 「マーキー・ズーム」を構成したバブル・チャート

この図の詳細は、周辺の説明を参照してください。

23.1.2.16 凡例およびマーカーの淡色表示

グラフには、凡例アイテムまたはマーカーの上にマウスを置くと、系列を強調表示する機能があります。図23-35に、これらの系列を使用して構成された棒グラフを示します。各系列の上にマウスを置くと、残りの系列が淡色表示されます。

図23-35 凡例およびマーカーを淡色表示するように構成されたグラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.17 円グラフのその他のスライスのサポート

円グラフには、大きなコントリビュータとの比較において、ユーザーのデータ・モデルが多数の小さいコントリビュータを含む場合、データを集計する機能があります。

図23-36に、合計の2パーセント未満の値をすべて集計するように構成された円グラフを示します。この例では、集計したスライスの合計値がツールチップで表示されています。

図23-36 その他のスライスを表示する円グラフのサポート

この図の詳細は、周辺の説明を参照してください。

23.1.2.18 円グラフのスライスの切離し

円グラフで1つのスライスがその他のスライスから切り離されている場合、この表示は円グラフのスライスの切離しと呼ばれます。スライスを切り離すと、他のスライスよりも目立たせることができます。

図23-37に、円グラフの切り離されたスライスの例を示します。

図23-37 スライスを切離しで構成された円グラフ

この図の詳細は、周辺の説明を参照してください。

23.1.2.19 ADS(アクティブ・データ・サポート)

グラフでは、アクティブ・データ・イベントを受け取ったときに部分ページ・リフレッシュ(PPR)要求を送信することでADSをサポートします。PPRのレスポンスにより、コンポーネントが更新され、必要に応じて変更がアニメーション化されます。次のADSイベントがサポートされます。

  • 更新

  • 削除

  • 挿入

  • リフレッシュ

次の制限が適用されます。

  • EL演算子はアクティブ属性に対するEL式内でサポートされません。

  • チャートのデータ・アイテムを挿入するには、アクティブ・データ・エントリにシリーズまたはグループを含める必要があります。

  • 既存のアイテムのシリーズまたはグループを変更することはできません。

  • dvt:chartSeriesStyleタグは挿入されたデータ・アイテムではサポートされていません。

  • 属性グループはサポートされていません。

アクティブ・データ・サービスの使用の詳細は、「非同期バックエンドでのアクティブ・データ・サービスの使用方法」を参照してください。

23.1.2.20 グラフのアニメーション

グラフでは、初期表示またはデータ変更の際にアニメーションがサポートされています。

23.1.2.21 グラフのイメージ形式

チャート・コンポーネントは、アニメーションおよび対話性を使用するために最新のブラウザで使用可能なHTML5技術を採用しています。

23.1.3 チャート・コンポーネントの追加機能

グラフを実装する前に、他のADF Faces機能を理解しておくと役立ちます。また、いったんグラフをページに追加すると、検証やアクセシビリティなどの機能を追加する必要があることに気付く場合があります。チャート・コンポーネントで使用できるその他の機能へのリンクは、次のとおりです。

  • クライアント側フレームワーク: DVTコンポーネントがブラウザでサポートされている場合、クライアント側でレンダリングされます。af:clientListenerタグを使用すると、クライアントでイベントに応答できます。詳細は、「クライアント・イベントのリスニング」を参照してください。

  • 部分ページ・レンダリング: 他のコンポーネントで実行されたアクションに基づく新しいデータをページ上に表示するために、グラフをリフレッシュできます。詳細は、「部分ページ・コンテンツの再レンダリング」を参照してください。

  • パーソナライズ: 有効な場合、ユーザーは実行時にグラフの表示方法を変更できますが、アプリケーションがユーザーのカスタマイズを許可するように構成されていないかぎり、ユーザーがページを終了するとそれらの値は保持されません。詳細は、「JSFページでのユーザー・カスタマイズの許可」を参照してください。

  • アクセシビリティ: チャート・コンポーネントをアクセス可能にできます。詳細は、「アクセス可能なADF Facesページの開発」を参照してください。

  • タッチ装置: ADF Facesアプリケーションがタッチ装置で動作することがわかれば、その装置に固有のページを作成する作業がベスト・プラクティスになります。詳細は、「ADF Facesを使用したタッチ装置のWebアプリケーションの作成」を参照してください。

  • スキンおよびスタイル: アプリケーションに適用するADFスキンを使用するか、スタイル関連のプロパティ(styleClassまたはinlineStyle)を使用してCSSスタイル・プロパティを直接適用することにより、チャート・コンポーネントの外観をカスタマイズできます。詳細は、「スタイルおよびスキンを使用した外観のカスタマイズ」を参照してください。

  • 自動データ・バインディング: アプリケーションでFusionテクノロジ・スタックが使用されている場合、ADFビジネス・コンポーネントの構成に基づいて、自動的にバインドされたチャートを作成できます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

    注意:

    最終的にページのUIコンポーネントでADFデータ・バインディングが使用されることがわかっていても、データ・コントロールの準備ができる前にページを開発する必要がある場合、手動でコンポーネントをバインドするのではなく、プレースホルダ・データ・コントロールを使用します。プレースホルダ・データ・コントロールを使用すると、開発済データ・コントロールを使用した場合と同じ宣言的な開発が行われます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のプレースホルダ・データ・コントロールを使用したページの設計に関する項を参照してください。

さらに、データ視覚化コンポーネントでは、データの配信方法、自動部分ページ・レンダリング(PPR)、そしてデータの表示および編集方法など、同じ機能の大部分が共有されています。詳細は、「データ視覚化コンポーネントの共通機能」を参照してください。

23.2 チャート・コンポーネントの使用

チャート・コンポーネントを使用するには、「コンポーネント・パレット」ウィンドウを使用して、選択したチャート・タイプをページに追加します。次に、グラフのデータを定義し、JDeveloperの「プロパティ」ウィンドウでタグ属性を使用して、追加の構成を完了します。事前作成済の多数の属性を使用して、カスタム・チャートを簡単に構成できます。

23.2.1 チャート・コンポーネントのデータ要件

チャート・コンポーネントはデータ構造に標準のCollectionModelを使用します。このクラスは、JSF DataModelクラスを拡張し、行キーおよびソートのサポートを追加します。DataModelクラスでは、行は索引によって完全に識別されます。他のユーザーが行を追加したことにより、ある行を削除するユーザー・リクエストで異なる行が削除されてしまうなど、あるリクエストから次のリクエストまでに基礎となるデータが変更される場合、この識別方法が原因で問題が発生する可能性があります。これを回避するため、CollectionModelクラスは索引ではなく行キーに基づいています。コレクションベースのコンポーネントの詳細は、「表、ツリー、およびその他のコレクションベースのコンポーネントの使用」を参照してください。

グラフのデータ要件は、グラフ・タイプによって異なります。データ要件は次のいずれかです。

  • 幾何学的: 一部のグラフ・タイプでは、データの表示に特定の数のデータ・ポイントが必要です。たとえば、線には最低2つの点が必要なため、折れ線グラフには最低2グループのデータが必要です。

  • 複雑: 一部のグラフ・タイプでは、マーカー(グラフで実際にデータを表すコンポーネント)ごとに複数のデータ・ポイントが必要です。たとえば、散布図では、X軸とY軸の交点にマーカーを置けるよう、グループごとに2つの値が必要です。グラフに使用したデータに、各グループに必要なデータ・ポイントが十分にない場合、チャート・コンポーネントでは可能な範囲でグラフを表示します。

  • 論理的: 一部のグラフ・タイプでは特定の種類のデータを受容しません。次に例を示します。

    • 負のデータ: 円グラフまたはファンネル・チャートに負のデータを渡すことはできません。

    • nullまたはゼロのデータ: 値がゼロの場合、棒またはマーカーは表示されませんが、表示されない領域がツールチップ情報を示すために描かれます。

    • 不十分なデータ・セット(系列): 二重Yグラフでは、Y軸ごとにデータ・セットが必要です。通常、セットごとに異なる情報を表します。たとえば、Y軸は特定の国および期間の売上げを表し、Y2軸はすべての国の売上げ合計を表します。Y軸データを1セットのみ渡した場合、グラフは2つの異なるY軸にデータを表示できません。データは1つのY軸に表示されます。

23.2.1.1 面グラフ、棒グラフおよび折れ線グラフのデータ要件

面グラフ、棒グラフおよび折れ線グラフのデータ要件は、次のとおりです。

  • 面グラフおよび折れ線には最低2グループのデータが必要です。グループは、面グラフ、棒グラフ、および折れ線グラフの横軸、あるいはグラフが水平方向の場合は縦軸に沿った位置で表されます。3か月間のデータを表示するグラフでは、グループは1月、2月および3月などとラベル付けされます。

  • 1つ以上のデータ系列が必要です。3か月間のデータを表示するグラフでは、系列は売上げおよび割当てになります。

  • 二重Yグラフには2セットのデータが必要です。

棒グラフは棒の幅を指定するためのオプションの3番目の値をサポートしています。

23.2.1.2 バブル・チャートのデータ要件

バブル・チャートでは、1つのデータ・マーカーにつき最低3つのデータ値が必要です。バブル・チャートの各データ・マーカーは3グループの値を表します。

  • マーカーのX軸上の位置を決めるX値。

  • マーカーのY軸上の位置を決めるY値。

  • マーカーのサイズを決めるZ値。

複数グループのデータの場合、バブル・チャートでは3の倍数のデータが必要です。たとえば、特定のバブル・チャートで、パリに3つ、東京に3つなどのように値が必要です。3つの値の例には、X値が平均寿命、Y値が平均所得、Z値が人口を表す場合などがあります。

注意:

バブル・チャートを見る際、マーカーのツールチップを確認することでデータ・グループを特定できます。ただし、グループを特定することは、データ・マーカーの全体的なパターンをつかむことに比べると重要ではありません。

23.2.1.3 組合せグラフのデータ要件

組合せグラフでは、組合せグラフに含まれているグラフごとに1つのデータ・セットが必要です。組合せグラフの各グラフは、それが基づいている面グラフ、棒グラフまたは折れ線グラフのコンポーネントのデータ要件を満たしている必要があります。面グラフ、棒グラフまたは折れ線グラフのコンポーネントのデータ要件リストは、「面グラフ、棒グラフおよび折れ線グラフのデータ要件」を参照してください。

23.2.1.4 ファンネル・チャートのデータ要件

ファンネル・チャートのデータ要件は、次のとおりです。

  • 1つの値セットが、ファンネル・チャートの実際のデータ・アイテムまたはスライスを表示するために必要です。ユーザーがプロセスでスタックしている場所を示すチャートで、実際の値は指定した期間内に障害が発生しているユーザーの実際の数になります。

  • 1つのステージの値が、様々なスライスを表示するために必要です。ユーザーがプロセスでスタックしている場所を示すチャートで、ステージの値はプロセス内の様々なステップです。

  • 1つのオプションの値セットが、各スライスのターゲットのデータ・アイテムを表示するために指定されます。ユーザーがプロセスでスタックしている場所を示すチャートで、ターゲットの値は、プロセスに更新が必要になるまでに許容できるユーザーの最大数になります。

23.2.1.5 円グラフのデータ要件

円グラフには、1つ以上のデータ・アイテム・セットを持つデータのコレクションが1つ必要です。データ構造は次のとおりです。

  • データの系列またはセットは、円スライスで表されます。各データ・セットの凡例テキストが表示されます。たとえば、国別のデータ・セットがある場合、各国の名前が凡例テキストに表示されます。

  • データ値は負の値にしないでください。

23.2.1.6 散布図のデータ要件

散布図には、マーカーごとに少なくとも2つのデータ値が必要です。各データ・マーカーは次の値を表します。

  • マーカーのX軸上の位置を決めるX値。

  • マーカーのY軸上の位置を決めるY値。

複数グループのデータの場合、データは2の倍数である必要があります。

23.2.1.7 スパーク・チャートのデータ要件

折れ線スパーク・チャート、棒スパーク・チャートおよび面スパーク・チャートには、単一系列のデータ値が必要です。

フローティング棒スパーク・チャートには、データ値の系列がフローティング・オフセットに1つ、棒の値のために1つの、合計2つ必要です。

23.2.1.8 株価チャートのデータ要件

株価チャートでは、各データ・マーカーの4つの属性を表す値が必要となります。株価チャートのデータ要件は、次のとおりです。

  • 株価の始値と終値を表すには、2つのセットの値が必要となります。

  • 高値-安値の株価チャートの場合は、指定された期間の株価の高値と安値を表すために、追加の2つのセットの値が必要となります。

  • チャートのタイプに出来高が含まれる場合は、指定された期間の株価の出来高を表すために、1つのセットのデータが必要となります。

23.2.2 グラフの構成

グラフのタイプは数多くあり、チャート・コンポーネントの柔軟性はかなり高いため、グラフには多くのDVTタグがあります。接頭辞dvt:は、各グラフ・タグ名の先頭に付いて、そのタグがADFデータ視覚化ツール(DVT)のタグ・ライブラリに属することを示します。次のリストに、チャート・コンポーネントに関連するタグのグループを示します。

  • チャート・コンポーネント・タグ: 9個のチャート・コンポーネント・タグは、グラフ・タイプを作成する簡便な方法です。それらは、「コンポーネント」ウィンドウにグラフのカテゴリとして、1つ以上のタイプ・バリエーションとともに表示されます。

    表23-1では、チャート・コンポーネント・タグおよびそのバリエーションについて説明します。


    表23-1 チャート・コンポーネント・タグ

    チャート・タグ 説明 バリエーション

    areaChart

    データを塗りつぶされた面として表します。

    二重Y軸

    積上げ

    範囲

    barChart

    データを一連の縦棒で表します。

    二重Y軸

    積上げ

    範囲

    bubbleChart

    円形のデータ・マーカー(バブル)の位置とサイズでデータを表します。

    comboChart

    データを面、棒または線のマーカーとして表します。

    二重Y軸

    積上げ

    funnelChart

    データは段付きのコーンとして表示されます。

    lineChart

    データを一連の線で表します。

    二重Y軸

    積上げ

    pieChart

    値を全体の一部として表示し、各値は扇形で表されます。

    ドーナツ

    scatterChart

    データを2次元の平面上のデータ・マーカーの位置で表します。

    sparkChart

    傾向や変化を1つのデータ値で表す簡単な縮小グラフで、通常、表の列内や関連テキストの行中に表示されます。

    フローティング棒

    折れ線

    stockChart

    指定された期間の株価情報および出来高を表示します。

    始値-終値

    始値-終値-出来高

    始値-高値-安値-終値

    始値-高値-安値-終値-出来高


  • チャート・コンポーネントの子タグ: これらの子タグは、様々なカスタマイズ・オプションを提供するために、大部分のチャート・コンポーネントでサポートされます。

    表23-2では、これらの子タグのリストおよび説明を示します。


    表23-2 一般的なグラフの子タグ

    子タグ 説明

    chartDataItem

    面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフまたは散布図のデータ・アイテムのプロパティを定義します。

    chartGroup

    面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフまたは散布図のグループのプロパティを定義します。

    chartLegend

    グラフ凡例のプロパティを定義します。

    chartSeriesStyle

    面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフまたは散布図の系列のプロパティを定義します。

    chartValueFormat

    グラフの値の書式設定プロパティを定義します。

    chartXAxis

    グラフの値のX軸のプロパティを定義します。

    chartYAxis

    グラフの値のY軸のプロパティを定義します。

    chartY2Axis

    グラフの値のY2軸のプロパティを定義します。

    chartAxisLine

    chartTickLabel

    majorTick

    minorTick

    referenceArea

    referenceLine

    chartXAxischartYAxisおよびchartY2Axisコンポーネントの子タグ。グラフの軸の追加のカスタマイズを提供します。

    pieDataItem

    円グラフの値のデータ・アイテムのプロパティを定義します。

    funnelDataItem

    ファンネル・チャートの値のデータ・アイテムのプロパティを定義します。

    stockDataItem

    ファンネル・チャートの値のデータ・アイテムのプロパティを定義します。


  • グラフの属性: チャート・コンポーネントのプロパティ。属性は、すべてのグラフまたはあるグラフ・タイプに固有のグラフに適用できます。

    表23-3では、一般的に使用される属性のリストおよび説明を示します。


    表23-3 一般的なグラフ属性

    子タグ 説明

    animationIndicators

    データ変更アニメーション・インジケータのタイプを指定します。

    barGapRatio

    棒グラフの棒の間のスペースおよび棒の太さを、比または割合で指定します。

    centerLabel

    centerLabelStyle

    リング・チャート(面グラフ)の内部の文字列とそのフォントを指定します。

    coordinateSystem

    グラフでデカルト座標や極座標を使用する場合に指定します。

    dataCursor

    データ・カーソルを有効にするかどうかを指定します。

    dataLabelPosition

    データ・ラベルの位置を指定します。オプションはチャート・タイプによって異なります。

    dataSelection

    グラフの選択モードを指定します。

    drilling

    このグループをドリルできるかどうかを指定します。有効な値はoff(デフォルト)およびonです。onに設定すると、ユーザーがグループ・ラベルをクリック/タップしたときに、既存のdrillEventが起動されます。

    footnote

    footnoteHAlign

    脚注とその横の配置を定義します。

    hideAndShowBehavior

    凡例アイテムをクリックした際の表示および非表示動作を指定します。

    high

    範囲面グラフおよび範囲棒グラフの範囲データの上限を指定します。

    hoverBehavior

    ユーザーがマーカーの上にマウスを置いた際に、他のマーカーを淡色表示するかどうかを指定します。

    initialZoom

    最初に、チャートの最初の部分または最後の部分にズームするかどうかを指定します。

    innerRadius

    非表示にする円グラフの中の内側の円の比または割合を指定して、リング・チャートに変化させます。

    labelPosition

    データ・ラベルの位置を指定します。オプションはチャート・タイプによって異なります。

    low

    範囲面グラフおよび範囲棒グラフの範囲データの下限を指定します。

    maximumBarWidth

    棒グラフの棒の最大幅をピクセルで指定します。

    orientation

    グラフを水平に表示するか垂直に表示するかを指定します。

    otherColor

    otherThreshold

    円グラフのその他のスライスの色およびパーセンテージを指定します。

    polarGridShape

    極グリッドの形が円形または多角形のどちらであるかを指定します。

    selectionEffect

    円グラフの円スライスが選択されたときの選択効果を指定します。

    seriesEffect

    データ・アイテムの塗りつぶしプロパティを定義します。

    sliceGaps

    円グラフの円スライス間、およびファンネル・チャートのファンネル・セグメント間のギャップの大きさを指定します。使用できる値は0から1の範囲です。

    sliceLabelPosition

    円グラフのデータ・ラベルの位置を指定します。

    sorting

    円グラフおよび棒グラフのデータ・アイテムをソートするかどうかを指定します。棒グラフで受け入れられる値はascendingdescendingおよびoffです。

    splitDualY

    y2軸を使用して提供される情報を分割するかどうかを指定します。この属性に"on"を設定した場合、チャートは同じX軸を共有する積上げ描画エリアに2つのデータ・セットを別々にレンダリングします。

    splitterPosition

    Y軸が占有する使用可能な描画エリアに対応する値を指定します。この属性は、splitDualY属性を"on"に設定した場合にのみ適用されます。有効な値の範囲は、0から1です。デフォルト値はです。5

    stack

    データを積み上げるかどうかを指定します。

    subtitle

    グラフのサブタイトルを指定します。

    timeAxisType

    グラフの時間軸タイプを定義します。

    symbolWidth

    symbolHeight

    チャートの凡例のすべての記号に対する共通のサイズ属性を指定します。

    title

    titleHAlign

    タイトルとその横の配置を定義します。

    var

    EL変数はコレクション内の各要素を反復処理します。

    zoomAndScroll

    グラフのズームおよびスクロール動作を指定します。


  • グラフのファセット: スパーク・チャート、株価チャート、ファンネル・チャートおよび円グラフ以外のすべてのグラフはファセットをサポートしています。これらはコンポーネント内の名前付きセクションです。

    表23-4では、サポートされているグラフのファセットのリストおよび説明を示します。


    表23-4 グラフのファセット

    子タグ 説明

    dataStamp

    データ・アイテム・コンポーネントをラップして、モデルの各データに対してスタンプします。複数のデータ・アイテムをスタンプするには、af:groupタグでこれらをラップします。

    groupStamp

    モデルの各行列に対してスタンプするグループ・コンポーネントを指定します。スタンプのプロパティは、一意のグループごとに1回処理されます。複数のグループを宣言的に定義するには、af:groupタグでこれらをラップします。

    overview

    オプションの概要ウィンドウのレンダリングを指定します。

    seriesStamp

    モデルの各行に対してスタンプする系列スタイル・コンポーネントを指定します。スタンプのプロパティは、一意の系列ごとに1回処理されます。複数の系列を宣言的に定義するには、af:groupタグでこれらをラップします。


  • スパーク・チャート・タグ: スパーク・チャート・コンポーネントのプロパティ。スパーク・チャートには、最低限の書式設定属性セットがあります。

    表23-5に、一般的に使用されるスパーク・チャート・タグのリストおよび説明を示します。


    表23-5 一般的なスパーク・チャートの属性

    子タグ 説明

    axisScaledFromBaseline

    ゼロのベースライン値を含めるように軸のスケールを設定するかどうかを指定します。

    borderColor

    データ・アイテムの枠線の色を指定します。

    color

    スパーク・チャートにおいて棒、線または面の色を指定します。

    lineWidth

    lineStyle

    lineType

    ピクセル単位での線幅、ラインが実線、破線または点線のいずれか、ストレート、カーブ、ステップまたはセグメントなどのライン・コネクタのタイプを指定します。

    firstMarkerColor

    highMarkerColor

    lastMarkerColor

    lowMarkerColor

    markers

    最初のマーカー、最後のマーカー、高いマーカー、低いマーカー、およびマーカーを表示するかどうかを指定します。

    markerShape

    markerSize

    マーカーの形状(squarecirclediamondplustriangleUpおよびtriangleDown)を指定します。マーカーのサイズ(ピクセル単位)も指定します。

    sparkItem

    スパーク・チャートのデータ値を指定します。

    subType

    スパーク・チャートの表示を面、棒、フローティング棒、線のいずれにするかを指定します。

    dataSelection

    グラフの選択モードを指定します。

    threshold

    thresholdSet

    スパーク・チャートのしきい値を指定します。

    tooltip

    ユーザーがスパーク・チャートの上にマウスを置いたときに表示するテキストを指定します。

    timeAxisType

    グラフの時間軸タイプを定義します。


すべてのタグとその属性の詳細、および有効な値のリストは、DVTタグのドキュメントを参照してください。JDeveloperで特定のグラフ・タグのこのドキュメントにアクセスするには、「構造」ウィンドウでタグを選択し、[F1]キーを押すか、「プロパティ」ウィンドウで「コンポーネント・ヘルプ」ボタンをクリックします。

また、DVTチャートは、他のADF FacesおよびDVTコンポーネントと同じ属性を多数共有します。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

23.2.3 ページへのグラフの追加方法

簡単なUI優先開発を使用してページを設計する場合は、「コンポーネント」ウィンドウを使用してグラフをJSFページに追加します。ページにチャート・コンポーネントをドラッグ・アンド・ドロップすると、「チャートの作成」ダイアログに使用可能なグラフ・タイプのカテゴリが説明とともに表示され、グラフの作成を視覚的に支援します。グラフの凡例のクイック・スタート・レイアウトも指定できます。

図23-38に、デフォルトの棒グラフ・タイプおよびクイック・スタート・レイアウトが選択された棒グラフ用の棒グラフの作成ダイアログを示します。

図23-38 棒グラフの作成ダイアログ

この図の詳細は、周辺の説明を参照してください。

ダイアログが完了して、ページにグラフが追加されると、「プロパティ」ウィンドウを使用して、データ値を指定し、グラフに追加の表示属性を構成できます。

「プロパティ」ウィンドウで、プロパティ・フィールド上にマウスを置いたときに表示されるアイコンをクリックすると、プロパティの説明の表示やオブションの編集を行うことができます。図に、棒グラフ・コンポーネントのvalue属性のドロップダウン・メニューを示します。

図23-39 棒グラフのValue属性

この図の詳細は、周辺の説明を参照してください。

注意:

アプリケーションでFusionテクノロジ・スタックが使用される場合、データ・コントロールを使用してグラフを作成でき、バインドが自動的に行われます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

次のタスクを実行する必要があります。

  1. 「アプリケーション・ワークスペースの作成」で説明されているように、アプリケーション・ワークスペースを作成します。

  2. 「ビュー・ページの作成」で説明されているように、ビュー・ページを作成します。

グラフをページに追加する手順:

  1. 「コンポーネント」ウィンドウで、「ADFデータ視覚化」ページの「チャート」パネルから希望するグラフのカテゴリをページにドラッグ・アンド・ドロップし、「チャートの作成」ダイアログを開きます。
  2. ダイアログを使用して、グラフ・タイプ、およびグラフ・タイトル、凡例とラベルのクイック・スタート・レイアウトを選択します。ダイアログのヘルプを参照するには、[F1]を押すか「ヘルプ」をクリックします。
  3. 「OK」をクリックして、グラフをページに追加します。
  4. 「プロパティ」ウィンドウで、グラフの属性を確認します。「コンポーネント・ヘルプ」ボタンを使用して、グラフの完全なタグ・ドキュメントを表示します。

23.2.4 ページにグラフを追加する場合の処理

「コンポーネント」ウィンドウからゲージをJSFページにドラッグ・アンド・ドロップした場合は、JDeveloperはタグの最小セットしか生成しません。

次の例に、図23-38のクイック・スタート・レイアウトを選択した棒グラフ用JSFページに挿入されたコードを示します。

<dvt:barChart id="chart1">
  <dvt:chartLegend id="leg1" rendered="true"/>
</dvt:barChart>

チャート・コンポーネントをページに挿入後、ビジュアル・エディタまたは「プロパティ」ウィンドウを使用すると、データの追加またはグラフ機能のカスタマイズを行うことができます。コンポーネント属性の設定の詳細は、「コンポーネント属性の設定方法」を参照してください。

23.3 グラフへのデータの追加

データをレンダリングするチャートを構成するには、チャートの値属性で必要なデータ・モデルまたはメソッドを指定し、データ値を解釈するように適切なデータ・アイテムの子コンポーネントを構成します。

グラフにデータを追加するプロセスはグラフのタイプによって異なります。ほとんどの場合、グラフのvalue属性内のデータ・モデルを指定し、chartDataItem子コンポーネントのグラフのデータ・アイテムを構成します。円グラフ、ファンネル・チャートおよび株価チャートの場合は、値をそれぞれpieDataItemfunnelDataItemまたはstockDataItem子コンポーネントに指定します。スパーク・チャートの場合、sparkItem子コンポーネントにあるスパーク・チャートの値を指定します。

グラフのデータを返すマネージドBeanによって、またはデータ・コントロールをグラフにバインドすることによって、グラフの値およびデータ・アイテムを指定できます。

23.3.1 面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法

面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加するには、グラフのvalue 属性にデータ・モデルを指定し、一意のグループごとにchartDataItemを構成します。データ要件の詳細は、「チャート・コンポーネントのデータ要件」を参照してください。

次のコードに、4人の投資家について毎週のポートフォリオ値を表示する折れ線グラフのデータを定義するマネージドBeanの例を示します。この例では、ChartDataSourceクラスがgetWeeklyStockData()メソッドでグラフのCollectionModelを定義します。このメソッドはgetPortfolioData()メソッドをコールしてグラフのデータ・アイテムを定義します。

package view;
 
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Random;
 
import java.util.List;
 
import org.apache.myfaces.trinidad.model.CollectionModel;
import org.apache.myfaces.trinidad.model.ModelUtils;
 
public class ChartDataSource {
/**
* Object representing the data for a single row of the model.
*/
  public static class ChartDataItem extends HashMap<String, Object> {
  @SuppressWarnings("compatibility")
  private static final long serialVersionUID = 1L;
        
  public ChartDataItem(String series, Object group, Number value) {
    put("series", series);
    put("group", group);
    put("value", value);
  }    
        
  public ChartDataItem(String series, Object group, Object x, Number y) {
    put("series", series);
    put("group", group);
    put("x", x);
    put("y", y);
  }
        
  public ChartDataItem(String series, Object group, Number x, Number y, Number z) {
    put("series", series);
    put("group", group);
    put("x", x);
    put("y", y);
    put("z", z);
  }
}
  public CollectionModel getWeeklyStockData() {
    return getPortfolioData(4, 157, 2013, 6, 1, Calendar.DATE, 7);
  }
 
  private Random random = new Random(23);
    
  private double getNextValue(double curValue, double std) {
    if (curValue == 0)
      return 0;
    else
      return Math.max(curValue + random.nextGaussian() * std, 0);
  }

  public CollectionModel getPortfolioData(int numSeries, int numGroups,
                                          int startYear, int startMonth,
                                          int startDate, int dateField,
                                          int addCount) 
  {
    List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
    GregorianCalendar cal;
    double curValue;
    for(int series=0; series<numSeries; series++) {
      cal = new GregorianCalendar(startYear, startMonth, startDate);
      curValue = 100;
      for(int group=0; group<numGroups; group++) {
        dataItems.add(new ChartDataItem("Investor " + (series+1), cal.getTime(),
                                         curValue));
        cal.add(dateField, addCount);
        curValue = getNextValue(curValue, 10);
      }
    }
    return ModelUtils.toCollectionModel(dataItems);
  }
}

次の例に、折れ線グラフを定義し、ChartDataSourceクラスを参照するJSFページのコードを示します。この例では、マネージドBeanはchartDataSourceという名前です。

<dvt:lineChart id="chart1" value="#{chartDataSource.weeklyStockData}"
               timeAxisType="enabled" var="row">
  <dvt:chartLegend id="leg1" rendered="true" position="top"/>
  <f:facet name="dataStamp">
    <dvt:chartDataItem id="cdi1" series="#{row.series}" group="#{row.group}"
                    value="#{row.value}"/>
  </f:facet>
</dvt:lineChart>

図23-40に、ChartDataSourceクラスを使用して折れ線グラフを構成した場合に表示される折れ線グラフを示します。

図23-40 4人の投資家についてのポートフォリオ・データを表示する折れ線グラフ

この図は、周囲のテキストで説明されています。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

面グラフ、棒グラフ、組合せグラフまたは折れ線グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データを面グラフ、棒グラフ、組合せグラフまたは折れ線グラフに追加する手順:

  1. オプションで、グラフのデータ・モデルを返すマネージドBeanを作成します。

    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

  2. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。

  3. 「プロパティ」ウィンドウで、「データ」セクションを開き、「Var」フィールドの値を入力します。

    varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。前述の2番目のコード例では、var属性がrowとして定義されています。関連するコードを次に示します。

    <dvt:lineChart id="chart1" value="#{chartDataSource.weeklyStockData}"
                   timeAxisType="enabled" var="row">
    
  4. 「プロパティ」ウィンドウで、次のいずれかを実行します。

    • グラフのデータ・モデルを返すマネージドBeanを参照するには、「共通」セクションを開き、「値」フィールドのデータ・モデルを参照するEL式を指定します。

      静的な数値を入力するか、マネージドBeanおよびメトリック値を参照するEL式を指定します。

      たとえば、前述の最初のコード・サンプルで参照されているクラスを含むchartDataSourceという名前のマネージドBeanにEL式を指定するには、「値」フィールドに#{chartDataSource.weeklyStockData}を入力します。

      EL式の作成のヘルプについては、「EL式の作成方法」を参照してください。

    • グラフをデータ・コントロールにバインドするには、「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。

      データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

  5. グラフのデータ・モデルのマネージドBeanを指定した場合、次の操作を実行してchartDataItemをグラフに追加します。

    1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ファセットdataStamp」を選択します。

    2. 複数のチャート・データ・アイテムを追加するには、「f:facet - dataStamp」を右クリックして、「ファセット・データ・スタンプの中に挿入」→「グループ」を選択します。

    3. 「f:facet - dataStamp」または「af:group」を右クリックし、「(ファセット・データ・スタンプまたはグループ)の中に挿入」→「チャートのデータ・アイテム」を選択します。

    4. さらにデータ・アイテムを追加するには、「af:group」を右クリックし、各追加データ・アイテムに対して、「グループの中に挿入」→「「チャートのデータ・アイテム」を選択します。

    5. 「dvt:chartDataItem」を右クリックして、「プロパティに移動」を選択します。

    6. 「プロパティ」ウィンドウの「共通」セクションで、「値」フィールドに値を入力します。範囲面グラフまたは範囲棒グラフを作成する場合は、かわりに「高」フィールドおよび「低」フィールドに値を入力します。

      たとえば、chartDataSourceマネージドBeanで定義された値を参照するには、「値」フィールドに#{row.value}を入力します。

      この例では、rowは前の手順で定義した変数で、valuechartDataSource BeanのgetPortfolioData()メソッドで定義されています(前述の最初のコード・サンプルを参照)。

    7. 「データ」セクションを開き、「グループ」フィールドの値を入力します。

      同じchartDataSourceマネージドBeanを使用するには、「グループ」フィールドに#{row.group}を入力します。

    8. 「系列」フィールドに値を入力します。

      同じchartDataSourceマネージドBeanを使用するには、「系列」フィールドに#{row.series}を入力します。

    9. ユーザーがフォーカスをデータ・ポイントに移動した場合に表示されるツールチップをカスタマイズするには、「shortDesc」フィールドに値を入力します。

    10. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。

      たとえば、ラベルの追加または系列マーカーの構成を行うことができます。詳細は、「グラフの表示要素のカスタマイズ」を参照してください。

      グラフのX軸に時間データが含まれる場合、時間軸を有効にできます。詳細は、「時間軸を構成する方法」を参照してください。

      棒グラフに重みまたは重要度が変化する離散したデータ・ポイントがある場合は、「データ」セクションの「Z」フィールドに値を入力できます。この値は棒の幅を変更するために使用されます。

      面グラフまたは棒グラフに範囲データがある場合は、「値」のかわりに「高」フィールドおよび「低」フィールドに値を入力できます。これらの値は、各データ・ポイントの上限および下限を表すために使用されます。

    11. 追加のチャート・データ・アイテムを構成するには、追加するデータ・アイテムごとに手順fから手順iを繰り返します。

23.3.2 データを円グラフに追加する方法

データを円グラフに追加するには、円グラフのvalue 属性にデータ・モデルを指定し、一意の系列ごとにpieDataItemを構成します。円グラフのデータ要件の詳細は、「円グラフのデータ要件」を参照してください。

データを円グラフに追加するプロセスは、面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフおよび散布図にデータを追加するプロセスと同様です。主な違いは、chartDataItemのかわりにpieDataItemをグラフに追加する点です。

次のコードに、マネージドBeanから円グラフを構成する簡単な例を示します。この例では、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで参照されているchartDataSource BeanにgetDefaultPieData()メソッドが追加されています 。

public CollectionModel getDefaultPieData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
    dataItems.add(new ChartDataItem("Series 1", "Group A", 42));
    dataItems.add(new ChartDataItem("Series 2", "Group A", 55));
    dataItems.add(new ChartDataItem("Series 3", "Group A", 36));
    dataItems.add(new ChartDataItem("Series 4", "Group A", 22));
    dataItems.add(new ChartDataItem("Series 5", "Group A", 22));
    return ModelUtils.toCollectionModel(dataItems);
}

次の例に、円グラフを定義し、ChartDataSourceクラスを参照するJSFページのコードを示します。この例では、マネージドBeanはchartDataSourceという名前です。

<dvt:pieChart id="chart1" value="#{chartDataSource.defaultPieData}" var="row">
  <dvt:chartLegend id="leg1" rendered="true"/>
    <dvt:pieDataItem label="#{row.series}" value="#{row.value}" id="pdi1"/>
  </dvt:pieChart>

図23-41に、実行時に表示される円グラフを示します。この例では、円グラフが凡例とともにレンダリングされ、データ・ラベルは合計に対する各スライスのパーセンテージを示します。

図23-41 マネージドBeanから構成された円グラフ

この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

円グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データを円グラフに追加する手順:

  1. オプションで、グラフのデータ・モデルを返すマネージドBeanを作成します。

    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

  2. 「構造」ウィンドウで「dvt:pieChart」を右クリックし、「プロパティに移動」を選択します。

  3. 「プロパティ」ウィンドウで、次のいずれかを実行します。

    • グラフのデータ・モデルを返すマネージドBeanを参照するには、「共通」セクションを開き、「値」フィールドのデータ・モデルを参照するEL式を指定します。

      静的な数値を入力するか、マネージドBeanおよびメトリック値を参照するEL式を指定します。

      たとえば、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで示されているように、円グラフにデータを提供するメソッドを含むchartDataSourceという名前のマネージドBeanにEL式を指定するには、「値」フィールドに#{chartDataSource.weeklyStockData}を入力します。

      EL式の作成のヘルプについては、「EL式の作成方法」を参照してください。

    • グラフをデータ・コントロールにバインドするには、「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。

      データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

  4. グラフのデータ・モデルのマネージドBeanを指定した場合、次の操作を実行してpieDataItemを円グラフに追加します。

    1. 「dvt:pieChart」を右クリックし、「円の中に挿入」→「円グラフのデータ・アイテム。」を選択します。

    2. 「円グラフのデータ・アイテムの挿入」ダイアログで、データ・アイテムのラベルおよび値を入力します。

      たとえば、chartDataSourceマネージドBeanを使用するには、ラベルおよび値に対してそれぞれ次を入力します。

      #{row.series}
      #{row.value}
      
    3. 「構造」ウィンドウで「dvt:pieChart」を右クリックし、「プロパティに移動」を選択します。

    4. 「プロパティ」ウィンドウで、「データ」セクションを開き、「Var」フィールドの値を入力します。

      varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の2番目のコード・サンプルでは、var属性がrowとして定義されています。関連するコードを次に示します。

      <dvt:lineChart id="chart1" value="#{chartDataSource.weeklyStockData}"
                     timeAxisType="enabled" var="row">
      
    5. ユーザーがフォーカスをデータ・ポイントに移動した場合に表示されるツールチップをカスタマイズするには、「shortDesc」フィールドに値を入力します。

    6. 円グラフをリング・チャートに変換するには、次のフィールドに値を入力します。
      • InnerRadius: リングの穴のサイズを決定する、0から1までの値を入力します。

      • CenterLabel: リングの中央にチャート・ラベルを追加する文字列を入力します。

      • CenterLabelStyle: 中央ラベルのスタイルとフォーマットを設定する値を入力します。

      • SliceGaps: 個別の円スライス間のギャップのサイズを決定する、0から1までの値を入力します。

    7. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。

      たとえば、ラベルをカスタマイズしたり、円グラフのスライスを切り離すことができます。詳細は、「グラフの表示要素のカスタマイズ」を参照してください。

    8. さらに円グラフのデータ・アイテムを追加するには、追加するデータ・アイテムごとに手順aから手順eを繰り返します。

23.3.3 データをバブル・チャートまたは散布図に追加する方法

データをバブル・チャートまたは散布図に追加するには、グラフのvalue属性にデータ・モデルを指定し、一意のグループごとにchartDataItemを構成します。データ要件の詳細は、「チャート・コンポーネントのデータ要件」を参照してください。

データをバブル・チャートまたは散布図に追加するプロセスは、面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフおよび散布図にデータを追加するプロセスと同様です。主な違いは、X軸およびY軸にも値を指定する必要がある点です。バブル・チャートの場合、バブルのサイズを表すZ軸にも値を指定する必要があります。

次の例に、マネージドBeanから円グラフを構成する簡単な例を示します。この例では、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで参照されているchartDataSource BeanにgetDefaultBubbleData()メソッドが追加されています。

public CollectionModel getDefaultBubbleData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  // Each data item below defines a series, group, x, y, and z value
  dataItems.add(new ChartDataItem("Series 1", "Group A", 15, 25, 5));
  dataItems.add(new ChartDataItem("Series 1", "Group B", 25, 30, 12));
  dataItems.add(new ChartDataItem("Series 1", "Group C", 25, 45, 12));

  dataItems.add(new ChartDataItem("Series 2", "Group A", 15, 15, 8));
  dataItems.add(new ChartDataItem("Series 2", "Group B", 20, 35, 14));
  dataItems.add(new ChartDataItem("Series 2", "Group C", 40, 55, 35));

  dataItems.add(new ChartDataItem("Series 3", "Group A", 10, 10, 8));
  dataItems.add(new ChartDataItem("Series 3", "Group B", 18, 55, 10));
  dataItems.add(new ChartDataItem("Series 3", "Group C", 40, 50, 18));

  dataItems.add(new ChartDataItem("Series 4", "Group A", 8, 20, 6));
  dataItems.add(new ChartDataItem("Series 4", "Group B", 11, 30, 8));
  dataItems.add(new ChartDataItem("Series 4", "Group C", 30, 40, 15));
  return ModelUtils.toCollectionModel(dataItems);
}

散布図の場合、X軸およびY軸の位置のみが必要です。次の例に、マネージドBeanから散布図を構成する簡単な例を示します。この例では、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで参照されているchartDataSource BeanにgetDefaultScatterData()メソッドが追加されています

public CollectionModel getDefaultScatterData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  dataItems.add(new ChartDataItem("Series 1", "Group A", 15, 15));
  dataItems.add(new ChartDataItem("Series 1", "Group B", 25, 43));
  dataItems.add(new ChartDataItem("Series 1", "Group C", 25, 25));

  dataItems.add(new ChartDataItem("Series 2", "Group A", 25, 15));
  dataItems.add(new ChartDataItem("Series 2", "Group B", 55, 45));
  dataItems.add(new ChartDataItem("Series 2", "Group C", 57, 47));

  dataItems.add(new ChartDataItem("Series 3", "Group A", 17, 36));
  dataItems.add(new ChartDataItem("Series 3", "Group B", 32, 52));
  dataItems.add(new ChartDataItem("Series 3", "Group C", 26, 28));

  dataItems.add(new ChartDataItem("Series 4", "Group A", 38, 22));
  dataItems.add(new ChartDataItem("Series 4", "Group B", 43, 43));
  dataItems.add(new ChartDataItem("Series 4", "Group C", 58, 36));
  return ModelUtils.toCollectionModel(dataItems);
}

図23-42に、実行時に表示されるバブル・チャートおよび散布図を示します。「データをバブル・チャートまたは散布図に追加する方法」に示すように、ツールチップはバブル・チャートおよび散布図にデータを提供するコード・サンプルで定義されている最初のChartDataItemからのデータを示します。

図23-42 マネージドBeanから構成されたバブル・チャートおよび散布図

この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

バブル・チャートまたは散布図をページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データをバブル・チャートに追加する手順:

  1. オプションで、グラフのデータ・モデルを返すマネージドBeanを作成します。

    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

  2. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。

  3. 「プロパティ」ウィンドウで、「データ」セクションを開き、「Var」フィールドの値を入力します。

    varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。例23-42に示したバブル・チャートおよび散布図の場合、var属性がrowとして定義されています。

  4. 「プロパティ」ウィンドウで、次のいずれかを実行します。

    • グラフのデータ・モデルを返すマネージドBeanを参照するには、「共通」セクションを開き、「値」フィールドのデータ・モデルを参照するEL式を指定します。

      静的な数値を入力するか、マネージドBeanおよびメトリック値を参照するEL式を指定します。

      たとえば、「データをバブル・チャートまたは散布図に追加する方法」の最初のコード・サンプルで参照されているメソッドを含むchartDataSourceという名前のマネージドBeanにEL式を指定するには、「値」フィールドに#{chartDataSource.defaultBubbleData}を入力します。

      EL式の作成のヘルプについては、「EL式の作成方法」を参照してください。

    • グラフをデータ・コントロールにバインドするには、「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。

      データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

  5. グラフのデータ・モデルのマネージドBeanを指定した場合、次の操作を実行してchartDataItemをグラフに追加します。

    1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ファセットdataStamp」を選択します。

    2. 複数のチャート・データ・アイテムを追加するには、「f:facet - dataStamp」を右クリックして、「ファセット・データ・スタンプの中に挿入」→「グループ」を選択します。

    3. 「f:facet - dataStamp」または「af:group」を右クリックし、「(ファセット・データ・スタンプまたはグループ)の中に挿入」→「チャートのデータ・アイテム」を選択します。

    4. さらにデータ・アイテムを追加するには、「af:group」を右クリックし、各追加データ・アイテムに対して、「グループの中に挿入」→「「チャートのデータ・アイテム」を選択します。

    5. 「dvt:chartDataItem」を右クリックして、「プロパティに移動」を選択します。

    6. 「データ」セクションを開き、「X」フィールドの値を入力します。

      「データをバブル・チャートまたは散布図に追加する方法」に示すように、バブル・チャートおよび散布図にデータを提供するコード・サンプルに示されたマネージドBeanを使用するには、「X」フィールドに#{row.x}と入力します。

    7. 「Y」フィールドに値を入力します。

      たとえば、「Y」フィールドに#{row.y}と入力します。

    8. バブル・チャートの場合、「Z」フィールドに値を入力します。

      たとえば、「Z」フィールドに#{row.z}と入力します。

    9. 「グループ」フィールドに値を入力します。

      たとえば、「グループ」フィールドに#{row.group}と入力します。

    10. 「系列」フィールドに値を入力します。

      たとえば、「系列」フィールドに#{row.series}と入力します。

    11. ユーザーがフォーカスをデータ・ポイントに移動した場合に表示されるツールチップをカスタマイズするには、「shortDesc」フィールドに値を入力します。

    12. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。

      たとえば、ラベルの追加または系列マーカーの構成を行うことができます。詳細は、「グラフの表示要素のカスタマイズ」を参照してください。

    13. 追加のチャート・データ・アイテムを構成するには、追加するデータ・アイテムごとに手順5から手順12を繰り返します。

23.3.4 データをファンネル・チャートに追加する方法

データをファンネル・チャートに追加するには、グラフのvalue属性にデータ・モデルを指定し、一意のグループごとにfunnelDataItemを構成します。データ要件の詳細は、「チャート・コンポーネントのデータ要件」を参照してください。

データをファンネル・チャートに追加するプロセスは、面グラフ、棒グラフ、横棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフおよび散布図にデータを追加するプロセスと同様です。主な違いは、chartDataItemのかわりにfunnelDataItemをグラフに追加する点です。

次の例に、マネージドBeanからファンネル・チャートを構成する簡単な例を示します。この例では、getDefaultFunnelData()メソッドおよびオーバーロードされたChartDataItemコンストラクタが、面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法の最初のコード例で参照されているchartDataSource Beanに追加されています。

public ChartDataItem(String series, Number value, Number targetValue) {
    put("series", series);
    put("value", value);
    put("targetValue", targetValue);
  }

public CollectionModel getDefaultFunnelData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  	dataItems.add(new ChartDataItem("Series 1", 46, 60));
    dataItems.add(new ChartDataItem("Series 2", 34, 50));
    dataItems.add(new ChartDataItem("Series 3", 30, 30));
    dataItems.add(new ChartDataItem("Series 4", 11, 25));
    return ModelUtils.toCollectionModel(dataItems);
}

次の例に、ファンネル・チャートを定義し、ChartDataSourceクラスを参照するJSFページのコードを示します。この例では、マネージドBeanはchartDataSourceという名前です。

<dvt:funnelChart id="chart1" value="#{chartDataSource.defaultFunnelData}" var="row">
  <dvt:funnelDataItem label="#{row.series}" value="#{row.value1}" targetValue="#{row.targetValue1}" id="pdi1"/>
</dvt:funnelChart>

図23-43に、実行時のファンネル・チャートを示します。指定されたターゲット値はオプションで、次に示すように、不完全なファンネルを生成できるようにします。

図23-43 マネージドBeanから構成されたファンネル・チャート

この図については周囲のテキストで説明しています。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

ページにファンネル・チャートを追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

ファンネル・チャートにデータを追加するには:

  1. オプションで、グラフのデータ・モデルを返すマネージドBeanを作成します。

    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

  2. 「構造」ウィンドウで「dvt:funnelChart」ノードを右クリックして、「プロパティに移動」を選択します。

  3. 「プロパティ・インスペクタ」で次のいずれかを行います。

    • グラフのデータ・モデルを返すマネージドBeanを参照するには、「共通」セクションを開き、「値」フィールドのデータ・モデルを参照するEL式を指定します。

      静的な数値を入力するか、マネージドBeanおよびメトリック値を参照するEL式を指定します。

      たとえば、前述の最初のコード・サンプルで示されるメソッドを含むchartDataSourceという名前のマネージドBeanにEL式を指定するには、「値」フィールドに#{chartDataSource.defaultFunnelData}を入力します。

      EL式の作成のヘルプについては、「EL式の作成方法」を参照してください。

    • グラフをデータ・コントロールにバインドするには、「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。

      データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

  4. グラフのデータ・モデルのマネージドBeanを指定した場合、次の操作を実行してfunnelDataItemをファンネル・チャートに追加します。

    1. 「dvt:funnelChart」を右クリックし、「dvt:funnelChartの中に挿入」→「ファンネル・データ・アイテム。」を選択します。

    2. 「ファンネル・データ・アイテムの挿入」ダイアログで、データ・アイテムのラベルおよび値を入力します。

      たとえば、chartDataSourceマネージドBeanを使用するには、ラベルおよび値に対してそれぞれ次を入力します。

      #{row.series}
      #{row.value}
      
    3. 「構造」ウィンドウで「dvt:funnelChart」ノードを右クリックして、「プロパティに移動」を選択します。

    4. 「プロパティ・インスペクタ」で、「データ」セクションを開き、「Var」 フィールドの値を入力します。

      varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の2番目のコード・サンプルでは、var属性がrowとして定義されています。

    5. ユーザーがフォーカスをデータ・ポイントに移動した場合に表示されるツールチップをカスタマイズするには、「shortDesc」フィールドに値を入力します。

    6. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。

      たとえば、ラベルをカスタマイズできます。詳細は、「グラフの表示要素のカスタマイズ」を参照してください。

    7. ファンネル・データ・アイテムを追加するには、追加データ・アイテムごとに手順1から手順6を繰り返します。

23.3.5 株価ャートにデータを追加する方法

データを株価チャートに追加するには、グラフのvalue属性にデータ・モデルを指定し、一意のグループごとにstockDataItemを構成します。データ要件の詳細は、「チャート・コンポーネントのデータ要件」を参照してください。

データをファンネル・チャートに追加するプロセスは、面グラフ、棒グラフ、横棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフおよび散布図にデータを追加するプロセスと同様です。主な違いは、chartDataItemのかわりにstockDataItemをグラフに追加する点です。

次の例に、マネージドBeanから株価チャートを構成する簡単な例を示します。この例では、getDefaultStockData()メソッドおよびオーバーロードされたchartDataItemコンストラクタが、面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法の最初のコード例で参照されているchartDataSource Beanに追加されています。

public ChartDataItem(Object group, Number open, Number close, Number high, Number low, Number volume) {
    put("series", "STOCK");
    put("group", group);
    put("open", open);
    put("close", close);
    put("high", high);
    put("low", low);
    put("volume", volume);
  }

public CollectionModel getDefaultStockData() {
	List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();

	dataItems.add(new ChartDataItem("Apr 2011",20.00,22.00,23.00,19.00,2000000));
	dataItems.add(new ChartDataItem("Jun 2011",22.00,24.00,24.00,19.00,4000000));
	dataItems.add(new ChartDataItem("Jul 2011",24.00,22.00,24.00,19.00,1000000));
	dataItems.add(new ChartDataItem("Aug 2011",22.00,26.00,28.00,19.00,3000000));
	dataItems.add(new ChartDataItem("Sep 2011",18.00,22.00,24.00,16.00,8000000));
	dataItems.add(new ChartDataItem("Oct 2011",20.00,22.00,22.00,19.00,9000000));
	dataItems.add(new ChartDataItem("Dec 2011",23.00,28.00,29.00,23.00,5000000));

	return ModelUtils.toCollectionModel(dataItems);
}

次の例に、株価チャートを定義し、ChartDataSourceクラスを参照するJSFページのコードを示します。この例では、マネージドBeanはchartDataSourceという名前です。

<dvt:stockChart value="#{chartDataSource.defaultStockData}" var="row">
    <dvt:stockDataItem series="#{row.series}" group="#{row.group}" volume ="#{row.volume}" high="#{row.high}"
                       low = "#{row.low}" close="#{row.close}" open="#{row.open}"/>
</dvt:stockChart>

この図は実行時の株価チャートを示しています。この例では、株価チャートに出来高セクションがあり、値はY軸に反映されています。

図23-44 マネージドBeanから構成された株価チャート

この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

株価チャートをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データを株価チャートに追加する手順:

  1. オプションで、グラフのデータ・モデルを返すマネージドBeanを作成します。
    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。
  2. 「構造」ウィンドウでdvt:stockChartを右クリックし、「プロパティに移動」を選択します。
  3. 「プロパティ」ウィンドウで、次のいずれかを実行します。
    • グラフのデータ・モデルを返すマネージドBeanを参照するには、「共通」セクションを開き、「値」フィールドのデータ・モデルを参照するEL式を指定します。静的な数値を入力するか、マネージドBeanおよびメトリック値を参照するEL式を指定します。

      たとえば、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで参照されている株価データ・メソッドを含むchartDataSourceという名前のマネージドBeanにEL式を指定するには、「値」フィールドに#{chartDataSource.defaultStockData}を入力します。

      EL式の作成のヘルプについては、「EL式の作成方法」を参照してください。

    • グラフをデータ・コントロールにバインドするには、「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。

      データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

  4. グラフのデータ・モデルのマネージドBeanを指定した場合、次の操作を実行してstockDataItemを株価チャートに追加します。
    1. dvt:stockChartを右クリックして、株価内に挿入→株価データ・アイテムを選択します。
    2. 「構造」ウィンドウでdvt:stockChartを右クリックし、「プロパティに移動」を選択します。
    3. 「プロパティ」ウィンドウで、「データ」セクションを開き、「Var」フィールドの値を入力します。
      varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の2番目のコード・サンプルでは、var属性がrowとして定義されています。関連するコードを次に示します。
      <dvt:lineChart id="chart1" value="#{chartDataSource.weeklyStockData}"
                     timeAxisType="enabled" var="row">
      
    4. ユーザーがフォーカスをデータ・ポイントに移動した場合に表示されるツールチップをカスタマイズするには、「shortDesc」フィールドに値を入力します。
    5. 「構造」ウィンドウでdvt:stockDataItemを右クリックし、「プロパティに移動」を選択します。
    6. 「プロパティ」ウィンドウで、「データ」セクションを開きます。株価チャートのタイプに応じて、値を入力するか、各種のフィールドの属性のドロップダウン・メニューから「式ビルダー」を使用します。
      たとえば、chartDataSourceマネージドBeanを使用するには、それらの値を次の属性に指定します。
      • 終値: #{row.close}

      • グループ: #{row.group}

      • 高値: #{row.high}

      • 安値: #{row.low}

      • 始値: #{row.open}

      • 系列: #{row.series}

      • 出来高: #{row.volume}

    7. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。
    8. 追加の株価データ・アイテムを加えるには、追加の各データ・アイテムについて前述の手順を繰り返します。

23.3.6 データをスパーク・チャートに追加する方法

スパーク・チャートは、表の列や、またはテキストともにインラインで傾向または変化を表したシンプルなグラフです。折れ線スパーク・チャート、棒スパーク・チャートおよび面スパーク・チャートには、単一系列のデータ値が必要です。図23-45に、表の列に描画された折れ線スパーク・チャートの例を示します。

図23-45 株価表の折れ線スパーク・チャート

この図は周囲のテキストで説明しています。

フローティング棒スパーク・チャートには、データ値の系列がフローティング・オフセットに1つ、棒の値のために1つの、合計2つ必要です。図23-46に、フローティング棒スパーク・チャートの例を示します。

図23-46 フローティング棒スパーク・チャート

この図は周囲のテキストで説明しています

簡単なUI優先開発のシナリオでは、「コンポーネント」ウィンドウを使用してスパーク・チャートを挿入してから、そのチャートをデータにバインドします。

次の方法のいずれかを使用すると、スパーク・チャートにデータを指定できます。

  • dvt:sparkItemタグでデータを静的に指定します。次の例に、スパーク・チャートに静的データを指定する例を示します。

    <dvt:sparkChart>
      <dvt:sparkItem value="20"/>
      <dvt:sparkItem value="15"/>
      <dvt:sparkItem value="30"/>
    </dvt:sparkChart>
    
  • dvt:sparkItemタグでEL式を使用してデータを指定します。

    次の例に、EL式を使用してスパーク・チャートにデータを指定し、図23-45に示す表を作成する例を示します。

    <af:table summary="Table" value="#{sparkChart.tableData}" var="row"
              columnStretching="last"
              rowBandingInterval="1" id="t1" width="230"
              disableColumnReordering="true"
              contentDelivery="immediate" autoHeightRows="8">
      <af:column sortable="false" headerText="Stock Symbol" align="start" id="c1"
                 rowHeader="true">
        <af:outputText value="#{row[0]}" id="ot4"/>
      </af:column>
      <af:column sortable="false" headerText="Prices for 2014" id="c2">
        <dvt:sparkChart id="sparkchart1" subType="line" axisScaledFromBaseline="off"
                        shortDesc="Sparkchart in Table">
          <dvt:sparkItem value="#{row[1]}" id="si6"/>
          <dvt:sparkItem value="#{row[2]}" id="si5"/>
          <dvt:sparkItem value="#{row[3]}" id="si4"/>
          <dvt:sparkItem value="#{row[4]}" id="si3"/>
          <dvt:sparkItem value="#{row[5]}" id="si2"/>
          <dvt:sparkItem value="#{row[6]}" id="si1"/>
        </dvt:sparkChart>
      </af:column>
    </af:table>
    

    この例では、スパーク・チャートのデータはsparkChartという名前のマネージドBeanで定義されています。次の例に、マネージドBeanを示します。クラスはSparkchartSampleとして定義され、getTableData()メソッドが表の列を定義しています。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Random;
    
    public class SparkchartSample {
      public List <List <Object>> getTableData() {
        List <List <Object>> list = new ArrayList <List <Object>>();
          
        // Create a random number generator with a constant seed
        Random rand = new Random(5);
          
        String stocks[] = {"ORCL", "AAPL", "MSFT", "YHOO", "CSCO", "PALM", "GOOG",
                           "SAP", "HPQ", "IBM", "INTC", "RIMM"};
          Arrays.sort(stocks); // sort to look nice
            for(int i=0; i<stocks.length; i++) 
            {
              List <Object> row = new ArrayList <Object>();
              row.add(stocks[i]);
              for(int j=0; j<6; j++) {
                // Let the value vary between 40 and 70 (for simplicity)
                row.add((rand.nextDouble()*30) + 40);
              }
              list.add(row);
            }
            return list;
      }
    }
  • af:iteratorを使用して、スパーク・アイテムにスタンプ設定します。

    次の例に、af:iteratorを使用してデータをスパーク・チャートに指定する例を示します。

    <dvt:sparkChart subType="bar" id="sc5">
      <af:iterator value="#{sparkChart.collection}" var="row" id="i3">
        <dvt:sparkItem value="#{row.close}" id="si9"/>
      </af:iterator>
    </dvt:sparkChart>
    

    この例では、反復がsparkChartマネージドBeanで定義されます。次の例に、スパーク・アイテムを作成するcollection()メソッドを示します。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    public List <Map <String,Object>> getCollection() {
      List <Map <String,Object>> list = new ArrayList <Map <String,Object>>();
        
      // Generate some sort of stock data
      double open[] =  {5,   6,   4.5, 6.3, 4.1, 7.6, 8.4, 11.5, 10.5, 11.3};
      double close[] = {6.8, 4.2, 6.7, 4.5, 7.1, 8.6, 10.4, 10.0, 12.5, 14.5};
      for(int i=0; i<open.length; i++) 
        {
          Map <String,Object> row = new HashMap <String,Object>();
          row.put("open", open[i]); 
          row.put("close", close[i]);
          list.add(row);
        }
      return list;
    }

    図23-47に、前述のaf:iteratorの例で定義されたスパーク・チャートを作成した場合に、表示されるスパーク・チャートの実行時の表示を示します。

    図23-47 af:iteratorがスタンプ設定するスパーク・チャート・データ・アイテム

    この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

表にスパーク・チャートを表示する場合、ADF表を作成します。表作成のヘルプが必要な場合は、「ページへの表の表示方法」を参照してください。

スパーク・チャートをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データをスパーク・チャートに追加する手順:

  1. グラフのデータ・モデルを返すマネージドBeanを作成します。

    クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

  2. af:iteratorを使用してスパーク・チャート・データ・アイテムにスタンプを設定するには、次のようにします。

    1. 「dvt:sparkChart」を右クリックし、「スパーク・チャートの中に挿入」→「イテレータ」を選択します。

    2. 「構造」ウィンドウで「af:iterator」を右クリックし、「プロパティに移動」を選択します。

    3. 「プロパティ」ウィンドウで、「共通」セクションを開き、「値」フィールドの値を入力します。

      スパーク・チャート・データ・アイテムの値を返すEL式を参照します。前述のcollection()メソッドの例で使用されるメソッドを参照するには、値に#{sparkChart.collection}を指定します。

    4. 「Var」フィールドの値を入力します。

      varプロパティは、データ・コレクション内の各要素を参照するEL変数の名前です。前述のcollection()メソッドの例では、var属性がrowとして定義されています。

    5. イテレータをカスタマイズするのに必要な追加プロパティを構成します。

      たとえば、行の最大数を指定します。af:iteratorの使用方法の詳細は、「コンポーネント・ヘルプ」をクリックします。

  3. スパーク・チャート・データ・アイテムを追加するには、次のようにします。

    1. 「dvt:sparkChart」または「af:iterator」を右クリックし、「(スパーク・チャートまたはイテレータ)の中に挿入」→「ADFデータ視覚化」→「スパーク・アイテム」を選択します。

    2. 「構造」ウィンドウで「dvt:sparkItem」を右クリックし、「プロパティに移動」を選択します。

    3. 「プロパティ」ウィンドウで、「共通」セクションを開き、「値」フィールドの値を入力します。

      静的な数値を入力するか、スパーク・チャート・データ・アイテムの値を返すEL式を参照できます。前述のcollection()メソッドの例で使用されるメソッドを参照するには、「値」#{row.close}を指定します。

    4. データ・アイテムのカスタマイズに必要な追加プロパティを構成します。

      たとえば、フローティング棒スパーク・チャートにFloatValueを指定する必要があります。使用可能な属性の詳細は、「コンポーネント・ヘルプ」をクリックします。

    5. さらに円グラフのスパーク・チャート・データ・アイテムを追加するには、追加するデータ・アイテムごとに手順aから手順dを繰り返します。

注意:

アプリケーションでFusionテクノロジ・スタックを使用する場合は、スパーク・チャートをデータ・コントロールにバインドすることもできます。これを行うには、「プロパティ」ウィンドウで「ADFコントロールにバインド」をクリックしてデータ・コレクションを選択します。データ・コントロールを使用してデータをグラフに指定する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください。

23.4 グラフの表示要素のカスタマイズ

ラベル、凡例、軸、系列およびアニメーション効果などのグラフの表示のほとんどの項目をカスタマイズできます。チャート・タイプによっては、参照オブジェクト、積上げ動作、二重Y軸なども追加できます。

円グラフは小さな値の集計または円グラフのスライスの切離し機能もサポートしています。

23.4.1 グラフのラベルを構成する方法

スパーク・チャート以外のすべてのグラフで、グラフのデータ・ラベルのスタイルおよび位置をカスタマイズできます。グラフ・タイプによっては、タイトル、サブタイトル、脚注、凡例タイトルまたは軸タイトルを追加することもできます。

ヒント:

データ・ラベルを使用すると読みにくくなるため、多用しないでください。主に外れ値または重要な値を強調するためにデータ・ラベルを使用し、すべてのデータ・ポイントの値を表示するために使用しないでください。

23.4.1.1 グラフのデータ・ラベルを構成する方法

グラフのデータ・ラベルを構成するには、dvt:chartDataItemまたはdvt:pieDataItemの子チャート・コンポーネントの属性を構成します。

すべてのグラフまたは円グラフのデータ・アイテムのスタイルおよび位置を同じにする場合、チャート・コンポーネントで直接属性を構成できます。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

データをグラフに追加します。詳細は、「グラフへのデータの追加」を参照してください。

グラフにデータ・ラベルを構成する手順:

  1. 「構造」ウィンドウで「dvt:chartDataItem」または「dvt:pieDataItem」を右クリックし、「プロパティに移動」を選択します。

  2. 「プロパティ」ウィンドウで「外観」セクションを開きます。

  3. データ・ラベルの色をカスタマイズするには、次の項目に値を入力します。

    • Color: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#008000と入力して、データ・ラベルを緑色でレンダリングします。

    • BorderColor: スパーク・チャート以外のすべてのグラフの場合、16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#FF0000と入力して、データ・ラベルを赤色でレンダリングします。

    • BorderWidth: スパーク・チャート以外のすべてのグラフの場合、数値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択して幅の数値に評価される式を入力します。

      たとえば、データ・ラベルの境界線の幅を4単位でレンダリングするには4を入力します。

  4. 面グラフ、棒グラフ、バブル・チャート、組合せグラフ、折れ線グラフおよび散布図でデータ・ラベルの位置とスタイルをカスタマイズするには、次のようにします。

    1. 「プロパティ」ウィンドウで、「データ」セクションを開きます。

    2. DataLabelPosition属性のドロップダウン・リストから、データ・ラベルの位置を選択します。

      デフォルトで、DataLabelPosition属性は「auto」に設定されています。これは、ラベルをバブル・チャートおよび積上げ棒グラフの中心に配置し、積上げ以外の棒グラフの棒の端の内側にラベルをレンダリングし、折れ線グラフ、面グラフおよび散布図ではマーカーの後ろにラベルをレンダリングします。

      「Center」を選択すると、データ・ポイントの中心にラベルを配置できます。バブル・チャートの場合、ラベルが長すぎると内容が切り捨てられます。

      「aboveMarker」「belowMarker」「beforeMarker」および「afterMarker」を選択すると、面グラフ、バブル・チャート、折れ線グラフおよび散布図のマーカーの上、下、前または後にラベルを配置することもできます。棒グラフの場合、「insideBarEdge」を選択すると、ラベルを棒の端の内側にレンダリングすることもできます。あるいは、「outsideBarEdge」を選択すると、正のデータ値の場合、棒の上にデータ・ラベルをレンダリングし、負のデータ値の場合棒の下にレンダリングします。

    3. データ・ラベルのテキスト・スタイルをカスタマイズするには、「スタイル」セクションでStyleClassまたはInlineStyle属性の値を入力します。

      たとえば、データ・ラベルに太字フォントを指定する場合、InlineStyle属性に次を入力します。

      font-weight:bold;
      
    4. 特定のグラフのデータ・アイテムの位置またはテキスト・スタイルをカスタマイズするには、「プロパティ」ウィンドウで、dvt:chartItem子コンポーネントのLabelPositionStyleまたはInlineStyle属性を構成します。

      注意:

      グラフおよびその子データ・アイテムの両方にラベル位置を構成する場合、グラフのデータ・アイテムに設定する値がグラフの設定値をオーバーライドします。

  5. 円グラフでデータ・ラベルの位置とスタイルをカスタマイズするには、次のようにします。

    1. 「構造」ウィンドウで「dvt:pieChart」を右クリックし、「プロパティに移動」を選択します。

    2. 「プロパティ」ウィンドウで、SliceLabelPosition属性のドロップダウン・リストから、データ・ラベルの位置を選択します。

      デフォルトでは、SliceLabelPosition「auto」に設定され、スライス内に十分なスペースがある場合は、ラベルは内側に配置され、それ以外は外側に配置されます。「inside」または「outside」を選択して、明示的にスライスの内側または外側にラベルを配置でき、「none」を選択して、ラベルを完全に削除できます。

    3. データ・ラベルのテキスト・スタイルをカスタマイズするには、「スタイル」セクションでStyleClassまたはInlineStyle属性の値を入力します。

      たとえば、データ・ラベルに太字フォントを指定する場合、InlineStyle属性に次を入力します。

      font-weight:bold;
      

23.4.1.2 グラフ要素のラベルを構成する方法

グラフのラベルを構成するには、必要に応じて子チャート・コンポーネントを追加し、ラベルのスタイルおよび位置を構成します。グラフ・タイプによっては、グラフのタイトル、サブタイトル、脚注を指定できます。

注意:

スパーク・チャートは凝縮されたグラフで、最低限の書式があります。ラベルはほとんどサポートされていません。スパーク・チャートのコンテナを使用して、スパーク・チャートの説明テキストを指定します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフにタイトル、サブタイトルまたは脚注を追加する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで「外観」セクションを開きます。
  3. タイトルをグラフに追加するには、次のようにします。
    • 「プロパティ」ウィンドウで、「タイトル」フィールドにタイトルの値を入力します。

      タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択してグラフのタイトルに評価される式を入力します。

    • TitleHAlign属性のドロップダウン・リストから、タイトルに使用する配置を選択します。

      デフォルトでは、タイトルの配置は「start」に設定され、左から右モードではタイトルはチャート・コンテナの左に配置されます。左から右モードでは、位置合せにcenterを設定してタイトルをチャート・コンテナの中央に配置するか、endを設定してチャート・コンテナの右端にタイトルを位置合せできます。

      plotAreaStartを使用して左から右モードの描画エリアの左にタイトルを位置合せするか、plotAreaCenterを使用して描画エリアの中央にタイトルを配置するか、plotAreaEndを使用して左から右モードの描画エリアの右にタイトルを位置合せすることもできます。

      左から右モードの場合、startおよびplotAreaStartを設定すると、タイトルがチャート・コンテナおよび描画エリアの右にそれぞれ位置合せされます。endおよびplotAreaEndを設定すると、タイトルがチャート・コンテナおよび描画エリアの左にそれぞれ位置合せされます。

  4. サブタイトルをグラフに追加するには、「サブタイトル」フィールドに値を入力します。

    サブタイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択してグラフのサブタイトルに評価される式を入力します。

  5. 脚注をグラフに追加するには、次のようにします。
    • 「プロパティ」ウィンドウで、「脚注」フィールドに脚注の値を入力します。

      脚注のテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択してグラフの脚注に評価される式を入力します。

    • FootnoteHAlign属性のドロップダウン・リストから、タイトルに使用する配置を選択します。

      デフォルトでは、脚注の配置は「start」に設定され、左から右モードでは脚注はチャート・コンテナの左に配置されます。左から右モードでは、位置合せにcenterを設定して脚注をチャート・コンテナの中央に配置するか、endを設定してチャート・コンテナの右端に脚注を位置合せできます。

      plotAreaStartを使用して左から右モードの描画エリアの左に脚注を位置合せするか、plotAreaCenterを使用して描画エリアの中央に脚注を配置するか、plotAreaEndを使用して左から右モードの描画エリアの右に脚注を位置合せすることもできます。

      左から右モードの場合、startおよびplotAreaStartを設定すると、脚注がチャート・コンテナおよび描画エリアの右にそれぞれ位置合せされます。endおよびplotAreaEndを設定すると、脚注がチャート・コンテナおよび描画エリアの左にそれぞれ位置合せされます。

23.4.1.3 グラフ要素のラベルを構成する方法

グラフの軸ラベルを構成するには、必要に応じて子の軸コンポーネントを追加し、ラベルのスタイルおよび位置を構成します。グラフ・タイプによっては、凡例タイトルまたは軸タイトルおよびティック・ラベルを指定できます。

注意:

スパーク・チャートは凝縮されたグラフで、最低限の書式があります。ラベルはほとんどサポートされていません。スパーク・チャートのコンテナを使用して、スパーク・チャートの説明テキストを指定します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの軸ラベルを構成する手順:

  1. 「構造」ウィンドウで、「dvt:typeChartを右クリックしてチャートの中に挿入」→(「グラフのX軸」または「グラフのY軸」または「グラフのY2軸」)を選択します。
  2. 前の手順で追加した軸を右クリックし、「プロパティに移動」を選択します。

    たとえば、「ChartXAxis」を右クリックして、「プロパティに移動」を選択します。

  3. タイトルを軸に追加するには、「プロパティ」ウィンドウで、「共通」セクションを開き、「タイトル」フィールドに値を入力します。

    軸タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して軸タイトルに評価される式を入力します。

  4. ティック・ラベルを構成するには、「構造」ウィンドウで、「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、の中に挿入」→「グラフのティック・ラベル」を選択します。
  5. 「dvt:chartTickLabel」を右クリックして、「プロパティに移動」を選択します。
  6. 「プロパティ」ウィンドウで、次の値を入力します。
    • LabelStyle: 軸ラベルに使用するCSS属性を入力します。

      たとえば、軸ラベルに太字フォントを指定する場合、InlineStyle属性に次を入力します。

      font-weight:bold;
    • Position: Position属性のドロップダウン・リストから、「inside」を選択してグラフの内側にラベルを配置します。

      デフォルトでは、グラフのラベルは自動的に軸の外側に配置されます。

    • Rotation: Rotation属性のドロップダウン・リストから「off」を選択して回転をオフにします。

      デフォルトで、グラフは必要に応じて、軸の多数のラベルに合せるために、自動的にラベルを90度回転します。回転が横軸のカテゴリ・ラベルに適用されます。

    • Scaling: 属性のドロップダウン・リストから、数値のスケール係数を選択します。

      スケール・オプションはnoneからquadrillionの範囲にあります。

グラフの凡例タイトルのカスタマイズの詳細は、「グラフの凡例を構成する方法」を参照してください。

23.4.2 グラフの凡例を構成する方法

スパーク・チャート以外のすべてのグラフに凡例を追加して、グラフの系列および関連する色を識別します。グラフを作成したときに凡例を含むクイック・スタート・レイアウトを選択した場合、すでに凡例がページに含まれています。

凡例を追加した後で、その位置のカスタマイズ、凡例タイトルの構成またはスクロールの無効化を行うことができます。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの凡例を構成する手順:

  1. 「構造」ウィンドウで、 「dvt:typeChartノードを開きます。
  2. 「dvt:chartLegend」ノードが開いた表示にない場合、「dvt:typeChartを右クリックして、チャートの中に挿入」→「グラフの凡例」を選択します。
  3. 「dvt:chartLegend」を右クリックして、「プロパティに移動」を選択します。
  4. 「プロパティ」ウィンドウで、必要に応じて次のフィールドに値を入力します。
    • Position: Position属性のドロップダウン・リストから、凡例の位置を選択します。

      デフォルトでは、凡例の位置は「auto」に設定され、グラフのサイズおよび内容により、グラフの横または下部に凡例を配置します。

      位置を「start」に設定すると、左から右モードでは凡例を左揃えに配置し、右から左モードでは右揃えに配置できます。あるいは、「end」に設定すると、左から右モードでは凡例を右揃えに配置し、右から左モードでは左揃えに配置することもできます。

      配置をtopに設定すると、凡例をグラフに上部に配置できます。あるいは、bottomに設定すると、凡例をグラフの下部に配置できます。

    • SymbolWidth: 凡例のすべての記号に対する共通の幅をピクセル単位で入力します。

      凡例タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して凡例タイトルに評価される式を入力します。

    • SymbolHeight: 凡例のすべての記号に対する共通の高さをピクセル単位で入力します。

      凡例タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して凡例タイトルに評価される式を入力します。

    • Title: 凡例のタイトルを入力します。

      凡例タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して凡例タイトルに評価される式を入力します。

    • TitleHAlign: TitleHAlign属性のドロップダウン・リストから、凡例タイトルの配置を選択します。

      デフォルトでは、凡例の配置は「start」に設定され、左から右モードでは凡例タイトルは左揃えに配置され、右から左モードでは右揃えに配置されます。

      配置を「center」に設定すると、凡例タイトルは中央に配置されます。配置を「end」に設定すると、左から右モードでは凡例タイトルは右揃えに配置され、右から左モードでは左揃えに配置されます。

    • ReferenceObjectTitle: 参照オブジェクト領域にタイトルを入力します(存在する場合)。

      タイトルのテキストを入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択してタイトルに評価される式を入力します。

      参照オブジェクトのグラフへの追加の詳細は、「参照オブジェクトのグラフへの追加」を参照してください。

    • Scrolling: Scrolling属性のドロップダウン・リストから、凡例のスクロール動作を選択します。

      デフォルトでは、グラフのスクロール動作は「asNeeded」に設定され、必要に応じてスクロールバーが凡例に追加されます。「off」を選択すると、凡例のスクロールを無効にできます。

    • SizeおよびMaximumSize: 軸のサイズおよび最大サイズをピクセル単位またはパーセントで入力します。デフォルトでは、サイズおよび最大サイズの値は設定されていません。

23.4.3 グラフの数値を書式設定する方法

dvt:chartValueFormatまたはdvt:chartTickLabelタグを使用するとグラフの数値の外観をカスタマイズできます。

図23-48に、ある部署の月給を表示するように構成した棒グラフにdvt:chartValueFormatおよびdvt:chartTickLabelタグを追加した効果を示します。この例では、上の棒グラフはデフォルトの数値の書式設定を使用しています。下の図の棒グラフは、系列の値および軸ラベルを通貨の値として表示するように構成されています。

図23-48 通貨の値を表示するように構成された棒グラフ

この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

23.4.3.1 グラフの値、値ラベルまたは軸の値の数値の書式設定方法

dvt:chartValueFormatタグを使用して、グラフの値、値ラベルまたは軸の値の数値を書式設定します。

dvt:chartValueFormatタグを使用すると、数値の表示にスケーリングを指定できます。

グラフの値、値ラベルまたは軸の値の数値を書式設定する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「グラフの値の書式設定」を選択します。
  2. 「dvt:chartValueFormat」ノードを右クリックし、「プロパティに移動」を選択します。
  3. 「プロパティ」ウィンドウで、次の値を入力します。
    • Type: 属性のドロップダウン・リストから、書式設定するグラフ要素を識別するタグを選択します。有効な値には、「x」「y」「y2」「z」「value」または「label」があります。

      たとえば、図23-48に示した棒グラフの系列の数値を書式設定するには、Type属性のドロップダウン・リストから「y」を選択します。

    • Scaling: 属性のドロップダウン・リストから、数値のスケール係数を選択します。

      スケール・オプションはnoneからquadrillionの範囲にあります。

    • TooltipDisplay: 属性のドロップダウン・リストから、カスタム・ツールチップのラベルを表示するかどうかを選択します。有効な値はoffまたはautoです。autoの動作はチャート・タイプによって異なります。

    • TooltipLabel: テキスト値を指定するか、「式ビルダー」を使用してツールチップ値にカスタム・ラベルを設定します。

23.4.3.2 グラフの軸ラベルの値の数値の書式設定方法

dvt:chartTickLabelタグを使用して軸ラベルの値を書式設定します。

dvt:chartTickLabelタグを使用すると、数値の表示にスケーリングを指定できます。軸の多数のラベルに合せるために、自動的にラベルを90度回転するかどうかを指定する回転プロパティもあります。回転が横軸のカテゴリ・ラベルに適用されます。軸ラベルをグラフの内側または外側のどちらに配置するかを指定する位置プロパティもあります。

軸ラベルの値の数値を書式設定する手順:

  1. 「構造」ウィンドウで、 「dvt:typeChartノードを開きます。
  2. 開いたノードに書式設定する軸が含まれていない場合、「dvt:typeChartを右クリックしてチャートの中に挿入」 →(「グラフのX軸」または「グラフのY軸」または「グラフのY2軸」)を選択します。
  3. 「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、の中に挿入」→「グラフのティック・ラベル」を選択します。
  4. 「dvt:chartTickLabel」を右クリックして、「プロパティに移動」を選択します。
  5. 「プロパティ」ウィンドウで、次の値を入力します。
    • Rotation: Rotation属性のドロップダウン・リストから「off」を選択して回転をオフにします。

      デフォルトで、グラフは、軸の多数のラベルに合せるために、自動的にラベルを90度回転します。回転が横軸のカテゴリ・ラベルに適用されます。

    • Scaling: 属性のドロップダウン・リストから、数値のスケール係数を選択します。

      スケール・オプションはnoneからquadrillionの範囲にあります。

23.4.3.3 数値のパターン、通貨またはパーセントの指定方法

af:convertNumberタグをdvt:chartValueFormatまたはdvt:chartTickLabelタグに追加することによって、数値の特定のパターンを指定したり、数値の表示を通貨やパーセントに変更したりすることができます。af:convertNumberタグの使用の詳細は、「入力の検証および変換」を参照してください。

「af:convertNumber」を使用して数値のパターン、通貨またはパーセントを使用する手順:

  1. 「構造」ウィンドウで、「dvt:chartTickLabel」または「dvt:chartValueFormat」を右クリックし、「(「グラフのティック・ラベル」または「グラフの値の書式設定」)の中に挿入」「数値の変換」を選択します。
  2. 「af:convertNumber」を右クリックし、「プロパティに移動」を選択します。
  3. 「プロパティ」ウィンドウで、Type属性のドロップダウン・リストから、必要な数値のタイプを選択します。

    デフォルトでは、Type「number」に設定されていますが、「currency」または「percent」を選択することもできます。

  4. 必要に応じて追加の属性を構成します。

    たとえば、「currencySymbol」フィールドで、使用する通貨記号を指定できます。個々のフィールドのヘルプまたはaf:convertNumberタグの完全なタグのドキュメントを参照するには、「コンポーネント・ヘルプ」をクリックします。

23.4.4 グラフの軸のカスタマイズ

グラフ・タイプによっては、X軸に時間軸を構成したり、グラフのX軸、Y軸、Y2軸またはZ軸のプロパティをカスタマイズしたりできます。

23.4.4.1 時間軸を構成する方法

X軸に時間データが含まれる場合、時間軸の表示を有効にできます。グラフは定期的な間隔または不定期の間隔に基づいた時間データをサポートしています。また、個々の系列に異なる日付が含まれる、混在した頻度の時間データもサポートしています。

図23-49に、時間軸を構成された4つのグラフを示します。横棒グラフでは、時間データが等間隔で配置されています。縦の棒グラフは、間隔が不定期のデータの例を示しています。このグラフは、2014年のデータがないことを視覚的に示します。2番目の縦の棒グラフでは、欠落しているデータがあることは見た目ではわかりません。組合せグラフでは、混在した頻度のデータを示します。この例では、時間データは組合せグラフの各系列(グラフ)で異なっています。

図23-49 定期的な頻度、不定期の頻度および混在した頻度の時間データを構成したグラフ

この図の詳細は、周辺の説明を参照してください。

時間軸を構成するには、定期的なデータまたは不定期のデータの場合、timeAxisType属性の値をenabledに設定し、不定期のデータのデータのない空間を表示しない場合はskipGapsに設定し、系列ごとに異なる時間データの場合、mixedFrequencyに設定します。

次の例に、横棒グラフ、棒グラフおよび組合せグラフを定義するJSFページのコード・スニペットを示します。ここでは、timeAxisTypeの定義が太字フォントで強調表示されています。

<af:panelBox text="Time Axis Nested Labels: Year and Month"
             showDisclosure="false">
  <dvt:barChart orientation="horizontal" value="#{chartDataSource.monthlyTimeData}"
             var="row" hoverBehavior="dim" timeAxisType="enabled">
    <f:facet name="dataStamp">
      <dvt:chartDataItem series="#{row.series}" group="#{row.group}"
                         value="#{row.value}"/>
    </f:facet>
  </dvt:barChart>
</af:panelBox>
<af:panelBox text="Time Axis with Irregular Intervals" showDisclosure="false">
  <dvt:barChart value="#{chartDataSource.yearlyIrregularTimeData}"
                var="row" hoverBehavior="dim" timeAxisType="enabled">
    <f:facet name="dataStamp">
      <dvt:chartDataItem series="#{row.series}" group="#{row.group}"
                         value="#{row.value}"/>
    </f:facet>
    <dvt:chartXAxis>
      <dvt:majorTick rendered="true"/>
    </dvt:chartXAxis>
  </dvt:barChart>
</af:panelBox>
<af:panelBox text="timeAxisType= skipGaps" showDisclosure="false">
  <dvt:barChart value="#{chartDataSource.yearlyIrregularTimeData}" var="row" hoverBehavior="dim" timeAxisType="skipGaps">
    <f:facet name="dataStamp">
      <dvt:chartDataItem series="#{row.series}" group="#{row.group}" value="#{row.value}"/>
    </f:facet>
    <dvt:chartXAxis>
      <dvt:majorTick rendered="true"/>
    </dvt:chartXAxis>
  </dvt:barChart>
</af:panelBox>
<af:panelBox text="Mixed Frequency Time Axis" showDisclosure="false">
  <dvt:comboChart value="#{chartDataSource.yearlyMixedFrequencyTimeData}"
                  var="row" hoverBehavior="dim" timeAxisType="mixedFrequency">
    <f:facet name="dataStamp">
      <dvt:chartDataItem series="#{row.series}" group="#{row.group}" x="#{row.x}" y="#{row.y}"/>
    </f:facet>
  </dvt:comboChart>

グラフのコレクション・モデルを定義し、これにデータを移入するコードは、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルに示されているchartDataSourceマネージドBeanに格納されています。

次の例に、getMonthlyTimeData()getYearlyIrregularTimeData()およびgetYearlyMixedFrequencyTimeData()メソッドを示します。この例では、getMonthlyTimeData()メソッドがgetTimeData()メソッドをコールします。これは再利用可能なメソッドで、引数として系列、グループおよび時間データを取ります。

public CollectionModel getYearlyIrregularTimeData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  dataItems.add(new ChartDataItem("Series 1", new GregorianCalendar(2011, 7, 27).getTime(), 55));
  dataItems.add(new ChartDataItem("Series 1", new GregorianCalendar(2012, 7, 27).getTime(), 60));
  dataItems.add(new ChartDataItem("Series 1", new GregorianCalendar(2013, 7, 27).getTime(), 75));
  dataItems.add(new ChartDataItem("Series 1", new GregorianCalendar(2015, 1, 27).getTime(), 70));
  dataItems.add(new ChartDataItem("Series 1", new GregorianCalendar(2016, 1, 27).getTime(), 35));
 
  dataItems.add(new ChartDataItem("Series 2", new GregorianCalendar(2011, 7, 27).getTime(), 45));
  dataItems.add(new ChartDataItem("Series 2", new GregorianCalendar(2012, 7, 27).getTime(), 40));
  dataItems.add(new ChartDataItem("Series 2", new GregorianCalendar(2013, 7, 27).getTime(), 65));
  dataItems.add(new ChartDataItem("Series 2", new GregorianCalendar(2015, 1, 27).getTime(), 65));
  dataItems.add(new ChartDataItem("Series 2", new GregorianCalendar(2016, 1, 27).getTime(), 45));

  return ModelUtils.toCollectionModel(dataItems);
}
public CollectionModel getYearlyMixedFrequencyTimeData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  dataItems.add(new ChartDataItem("Series 1", "Group 1", new GregorianCalendar(2011, 7, 27).getTime(), 55));
  dataItems.add(new ChartDataItem("Series 1", "Group 2", new GregorianCalendar(2013, 7, 27).getTime(), 60));
  dataItems.add(new ChartDataItem("Series 1", "Group 3", new GregorianCalendar(2015, 7, 27).getTime(), 75));
  dataItems.add(new ChartDataItem("Series 1", "Group 4", new GregorianCalendar(2017, 7, 27).getTime(), 70));
  dataItems.add(new ChartDataItem("Series 1", "Group 5", new GregorianCalendar(2019, 7, 27).getTime(), 35));

  dataItems.add(new ChartDataItem("Series 2", "Group 1", new GregorianCalendar(2012, 1, 27).getTime(), 45));
  dataItems.add(new ChartDataItem("Series 2", "Group 2", new GregorianCalendar(2013, 7, 27).getTime(), 40));
  dataItems.add(new ChartDataItem("Series 2", "Group 3", new GregorianCalendar(2014, 7, 27).getTime(), 65));
  dataItems.add(new ChartDataItem("Series 2", "Group 4", new GregorianCalendar(2016, 1, 27).getTime(), 65));
  dataItems.add(new ChartDataItem("Series 2", "Group 5", new GregorianCalendar(2020, 7, 27).getTime(), 45));
  dataItems.add(new ChartDataItem("Series 3", "Group 1", new GregorianCalendar(2010, 7, 27).getTime(), 15));
  dataItems.add(new ChartDataItem("Series 3", "Group 2", new GregorianCalendar(2012, 7, 27).getTime(), 20));
  dataItems.add(new ChartDataItem("Series 3", "Group 3", new GregorianCalendar(2014, 7, 27).getTime(), 35));
  dataItems.add(new ChartDataItem("Series 3", "Group 4", new GregorianCalendar(2016, 7, 27).getTime(), 30));
  dataItems.add(new ChartDataItem("Series 3", "Group 5", new GregorianCalendar(2018, 7, 27).getTime(), 55));
  return ModelUtils.toCollectionModel(dataItems);
}
public CollectionModel getMonthlyTimeData() {
  return getTimeData(2, 10, 2013, 7, 1, Calendar.MONTH, 1);
}
private double getValue() {return Math.random() * 100;}
public CollectionModel getTimeData(int numSeries, int numGroups,
                       int startYear, int startMonth, int startDate,
                       int dateField, int addCount){
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  GregorianCalendar cal = new GregorianCalendar(startYear, startMonth, startDate);
  for(int group=0; group<numGroups; group++) {
    for(int series=0; series<numSeries; series++) {
      dataItems.add(new ChartDataItem("Series " + (series+1), cal.getTime(), getValue()));
    }
    cal.add(dateField, addCount);
  }
  return ModelUtils.toCollectionModel(dataItems);
}

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの時間軸を構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで「外観」セクションを開きます。
  3. TimeAxisType属性のドロップダウン・リストから、グラフに定期的な時間データまたは不定期の時間データが含まれる場合、「enabled」を選択します。欠落している時間を強調表示する必要がない不定期な時間データ(週末の期間が意味を持たない株価のデータなど)がチャートに含まれている場合は、skipGapsを選択します。グラフに混在した頻度の時間データが含まれる場合、「mixedFrequency」を選択します。

23.4.4.2 グラフの軸をカスタマイズする方法

グラフは、X軸、Y軸およびY2軸のカスタマイズをサポートしています。軸のタイプによっては、データおよび軸の最小値と最大値のカスタマイズ、タイトルの追加、ティック・マークの増分の指定、ビューポート境界の構成、および軸のベースラインがデータの最小値から開始するか0から開始するかの指定を行うことができます。

グラフの軸をカスタマイズするには、dvt:chartXAxisdvt:chartYAxisまたはdvt:chartY2Axisコンポーネントをグラフに追加し、「プロパティ」ウィンドウで軸のプロパティを構成します。

表23-6に、グラフの属性および、属性が適用される軸をリストします。ほとんどの属性にはデータに基づいたデフォルト設定があり、デフォルトを変更する必要がある場合にのみ、これらを変更してください。ただし、titleattributeChangeListenerおよびbinding属性の値を使用する場合は、これらの値を指定する必要があります。


表23-6 グラフの軸の属性

名前 説明 X軸のサポート Y軸のサポート Y2軸のサポート

alignTickMarks

Y1軸またはY2軸のティック・マークを合せるかどうかを指定します。

なし

なし

あり

attributeChangeListener

アプリケーションの特定のリクエストなしでレンダラがプロパティを変更する際のリスナーのメソッド参照です。

あり

あり

あり

baselineScaling

軸のベースラインがデータの最小値から開始するのか0から開始するのかを指定します。

あり

あり

あり

binding

バッキングBeanからの軸の特定のインスタンスを保存するためのバインディング参照を指定します。この属性は、バッキングBean内のコードにアクセスする場合のみ設定してください。

あり

あり

あり

dataMaximum

数値の軸上のデータの最大値を指定します。設定されない場合、属性はデータ・セットの最大値にデフォルト設定されます。

あり

あり

あり

dataMinimum

数値の軸上のデータの最小値を指定します。設定されない場合、属性はデータ・セットの最大値にデフォルト設定されます。

あり

あり

あり

id

コンポーネントの識別子を指定します。

あり

あり

あり

majorIncrement

数値の軸の主ティックの増分を指定します。

あり

あり

あり

maximum

軸の最大値を指定します。

あり

あり

あり

maximumSize

軸の最大幅または高さを指定します

あり

あり

あり

minimum

軸の最小値を指定します。

あり

あり

あり

minimumIncrement

数値の軸上のティック・マーク間の最小の増分を指定します。

あり

あり

あり

minorIncrement

軸の副ティックの増分を指定します。

あり

あり

あり

position

軸ラベルの位置を描画アリアに対する相対位置として指定します。

なし

あり

あり

rendered

軸をレンダリングするかどうかを指定します。

あり

あり

あり

scale

軸が線形または対数のいずれであるかを指定します。

あり

あり

あり

size

軸の幅または高さを指定します

あり

あり

あり

title

軸のタイトルを指定します。

あり

あり

あり

viewportEndGroup

グループまたは時間軸の現在のビューポートの終了グループを指定します。

あり

なし

なし

viewportStartGroup

グループまたは時間軸の現在のビューポートの開始グループを指定します。

あり

なし

なし

viewportMaximum

バブル・チャートおよび散布図の現在のビューポートのX座標またはY座標の最大値を指定します。

あり

あり

なし

viewportMinimum

現在のビューポートのX座標の最小値を指定します。

あり

あり

なし


グラフの軸は、オプションの子コンポーネントもサポートしています。これを使用すると、主ティック・マーク、副ティック・マーク、軸のティック・ラベルおよび軸線をカスタマイズできます。

  • dvt:majorTickおよびdvt:minorTick: グラフのティック・マークの線の色、スタイルおよび幅、ベースラインの色、スタイルおよび幅を指定します。

  • dvt:chartAxisLine: 軸線の色および幅を指定します。

  • dvt:chartTickLabel: グラフのティック・ラベルのスケーリング、スタイル設定および回転を指定します。

    dvt:chartTickLabeの構成の詳細は、「グラフの数値を書式設定する方法」および「グラフ要素のラベルを構成する方法」を参照してください。

  • dvt:referenceAreaおよびdvt:referenceLine: 軸の参照領域または線を指定します。

    参照領域または線のグラフへの追加の詳細は、「参照オブジェクトのグラフへの追加」を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの軸、軸線、および軸の主ティックまたは副ティックをカスタマイズする手順:

  1. 「構造」ウィンドウで、 「dvt:typeChartノードを開きます。
  2. 開いたノードにカスタマイズする軸が含まれていない場合、「dvt:typeChartを右クリックしてチャートの中に挿入」 →(「グラフのX軸」または「グラフのY軸」または「グラフのY2軸」)を選択します。
  3. 「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、「プロパティに移動」を選択します。
  4. 数値の軸をカスタマイズするには、「プロパティ」ウィンドウで、次の値を入力します。
    • BaselineScaling: BaselineScaling属性のドロップダウン・リストから、「min」を選択して軸のベースラインをデータの最小値に設定します。デフォルトでは、この属性は「zero」に設定されています。

    • DataMaximumおよびDataMinimum: データを表示する最小値および最大値を入力します。

      デフォルトでは、グラフにはデータ・セット全体が表示されます。

    • MajorTickIncrementおよびMinorTickIncrement: 主ティックおよび副ティックの増分を指定します。

      デフォルトでは、ティックの増分はデータから計算されます。

    • Scale: 属性のドロップダウン・リストから、数値のスケール・タイプを選択します。

      linearまたはlogを選択できます。

  5. すべての軸タイプに対して、「プロパティ」ウィンドウで、次の属性に値を入力します。
    • MinimumおよびMaximum: 軸の最小値および最大値を入力します。

      デフォルトでは、最小値および最大値はデータから計算されます。

    • SizeおよびMaximumSize: 軸のサイズおよび最大サイズをピクセル単位またはパーセントで入力します。デフォルトでは、サイズおよび最大サイズの値は設定されていません。

    • Title: 軸のタイトルを指定します。デフォルトでは、軸にタイトルは含まれていません。

  6. ビューポートを構成するには、「プロパティ」ウィンドウで、必要に応じて「viewportEndGroup」「viewportStartGroup」「viewportMaximum」および「viewportMinimum」属性の値を入力します。

    ビューポートのグラフへの追加の詳細は、「グラフのズームおよびスクロールを構成する方法」を参照してください。

  7. 必要に応じて追加の属性を構成します。

    たとえば、「AlignTickMarks」属性を使用すると、二重Y軸のY1軸とY2軸のティック・マークの位置合せをオフにできます。個々のフィールドのヘルプまたは軸についての完全なタグのドキュメントを参照するには、「コンポーネント・ヘルプ」をクリックします。

  8. 「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、の中に挿入」→「グラフのティック・ラベル」を選択します。
  9. 「dvt:chartTickLabel」を右クリックして、「プロパティに移動」を選択します。
  10. 「プロパティ」ウィンドウで、次の属性に値を入力します。
    • Position: Position属性のドロップダウン・リストから、「inside」を選択してグラフの内側にラベルを配置します。

      デフォルトでは、グラフのラベルは自動的に軸の外側に配置されます。

    • Rotation: Rotation属性のドロップダウン・リストから「off」を選択して回転をオフにします。

      デフォルトで、グラフは、軸の多数のラベルに合せるために、自動的にラベルを90度回転します。回転が横軸のカテゴリ・ラベルに適用されます。

    • Scaling: 属性のドロップダウン・リストから、数値のスケール係数を選択します。

      スケール・オプションはnoneからquadrillionの範囲にあります。

  11. さらに数値をカスタマイズするには、「構造」ウィンドウで、「dvt:chartTickLabel」を右クリックして、「グラフのティック・ラベルの中に挿入」→「数値の変換」を選択します。
  12. 「af:convertNumber」を右クリックし、「プロパティに移動」を選択します。
  13. 「プロパティ」ウィンドウで、Type属性のドロップダウン・リストから、必要な数値のタイプを選択します。

    デフォルトでは、Type「number」に設定されていますが、「currency」または「percent」を選択することもできます。

  14. 必要に応じて追加の属性を構成します。

    たとえば、「currencySymbol」フィールドで、使用する通貨記号を指定できます。個々のフィールドのヘルプまたはaf:convertNumberタグの完全なタグのドキュメントを参照するには、「コンポーネント・ヘルプ」をクリックします。

  15. グラフの軸線をカスタマイズするには、「構造」ウィンドウで、「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、の中に挿入」→「チャートの軸線」を選択します。
  16. 「dvt:chartAxisLine」を右クリックして、「プロパティに移動」を選択します。
  17. 「プロパティ」ウィンドウで、次の属性に値を入力します。
    • LineColor: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#008000と入力して、軸線の色を緑色でレンダリングします。

    • LineWidth: 軸線の幅をピクセルで入力します。デフォルトでは、LineWidth1に設定されています。

  18. 主ティックまたは副ティックをカスタマイズするには、「構造」ウィンドウで、「dvt:chartXAxis」「dvt:chartYAxis」または「dvt:ChartY2Axis」ノードを右クリックして、の中に挿入」→(「主ティック。」または「副ティック。」)を選択します。
  19. 「dvt:majorTick」または「dvt:minorTick」を右クリックして、「プロパティに移動」を選択します。
  20. 「プロパティ」ウィンドウで、次の属性に値を入力します。
    • BaselineColor: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#800000と入力して、ベースラインの色を赤色でレンダリングします。

    • BaselineStyle: BaselineStyle属性のドロップダウン・リストから、ティック・マークのベースライン・スタイルを選択します。

      BaselineStyleに使用できる値は、「dashed」「dotted」または「solid」です。

    • BaselineWidth: ティック・マークのベースラインの幅をピクセル単位で入力します。

    • LineColor: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#008000と入力して、ティック・マークの色を緑色でレンダリングします。

    • LineStyle: LineStyle属性のドロップダウン・リストから、ティック・マークの線のスタイルを選択します。

      デフォルトでは、LineStyle「solid」に設定されていますが、「dashed」または「dotted」を選択してデフォルトの線のスタイルを変更できます。

    • LineWidth: ティック・マークの幅をピクセルで入力します。デフォルトでは、LineWidth1に設定されています。

23.4.4.3 二重Y軸の構成

2つ目のY軸を面グラフ、棒グラフ、組合せグラフおよび折れ線グラフに追加できます。異なるデータ範囲を持つ2つの系列がある場合、この機能は便利です。たとえば、棒グラフのY軸に給与を、もう1つのY軸に歩合を表示できます。

二重Y軸を構成するには、dvt:chartSeriesStyleコンポーネントをグラフに追加し、assignedToY2属性をtrueに設定します。dvt:chartSeriesStyleコンポーネントを構成する手順は、「グラフの系列を構成する方法」を参照してください。

23.4.5 グラフへの参照オブジェクトの追加

dvt:referenceLineまたはdvt:referenceAreaコンポーネントを使用すると、円グラフ以外のすべてのグラフに参照領域または参照線を追加できます。参照領域はグラフの軸に関連付けられ、通常、Y軸に関連付けられます。参照領域または参照線を使用して、ターゲットの値または範囲を表示します。

図23-50に、参照線および参照線を使用した、図23-40の折れ線グラフを示します。この例では、参照領域は薄い青色で、200と250の範囲で構成されています。参照線は緑色で、25の値の場所に構成されています。

図23-50 参照領域および参照線を使用して構成した折れ線グラフ

この図の詳細は、周辺の説明を参照してください。

次の例に、参照領域および参照線を定義する、JSFページのコード・スニペットを示します。この例では、参照領域および参照線は、グラフのY軸の子として構成されています。

<dvt:chartYAxis title="Portfolio Value (thousands of USD)">
  <dvt:referenceArea id="ra1" color="#A0CEEC" maximum="250" minimum="200"
                     displayInLegend="on" text="Target Portfolio Value"/>
  <dvt:referenceLine id="rl1" color="#008000" value="25" displayInLegend="on"
                     text="Target Minimum" rendered="true" lineWidth="3"/>
</dvt:chartYAxis>

図23-51に示すように、複数セグメントの参照線または参照領域を指定することもできます。この例では、棒グラフは複数セグメントの参照線を使用して構成されています。折れ線グラフは複数セグメントの参照領域を使用して構成されています。これらの例では、ターゲットの値は年ごとに変化します。

図23-51 複数セグメントの参照線および参照領域

この図は、周囲のテキストで説明されています。

複数セグメントの参照線または参照領域は、dvt:referenceAreaItemまたはdvt:referenceLineItem要素をdvt:referenceAreaおよびdvt:referenceLineコンポーネントの子として追加することにより、定義します。参照線または参照領域の各セグメントに対して、参照領域または参照線を明示的に定義したり、af:iteratorタグを使用してセグメントをループできます。

次の例に、棒グラフおよび折れ線グラフを定義するJSFページのコード・スニペットを示します。参照領域および参照線に関連するコードは太字で強調表示されています。

<dvt:barChart value="#{chartDataSource.yearlyIrregularTimeData}"
              var="row" timeAxisType="enabled" inlineStyle="width:650px">
  <f:facet name="dataStamp">
    <dvt:chartDataItem series="Series 1" group="#{row.group}"
                       value="#{row.value}"/>
  </f:facet>
  <dvt:chartYAxis maximum="100">
    <dvt:referenceLine color="#A0CEEC" displayInLegend="on" text="Target Value"
                       lineWidth="3" shortDesc="Target Value">
      <af:iterator id="it1" value="#{chartDataSource.yearlyIrregularTimeData}"
                   var="row">
        <dvt:referenceLineItem x="#{row.series == 'Series 1' ? row.group:0}"
                          value="#{row.series == 'Series 1' ? row.value + 15:0}"/>
      </af:iterator>
    </dvt:referenceLine>
  </dvt:chartYAxis>
  <dvt:chartLegend rendered="true"/>
</dvt:barChart>
    ...
<dvt:lineChart value="#{chartDataSource.yearlySingleTimeData}" var="row"
               timeAxisType="enabled" inlineStyle="width:650px" id="chart1">
  <f:facet name="dataStamp">
    <dvt:chartDataItem series="#{row.series}" group="#{row.group}"
                       value="#{row.value}"/>
  </f:facet>
  <dvt:chartYAxis>
    <dvt:referenceArea color="#A0CEEC" displayInLegend="on" text="Target Range"
                       shortDesc="Target Range">
      <af:iterator id="it3" value="#{chartDataSource.yearlySingleTimeData}"
                   var="row">
        <dvt:referenceAreaItem x="#{row.group}" minimum="#{row.value - 15}"
                               maximum="#{row.value + 15}"/>
      </af:iterator>
    </dvt:referenceArea>
  </dvt:chartYAxis>
  <dvt:chartLegend rendered="true"/>
</dvt:lineChart>

棒グラフのデータはgetYearlyIrregularTimeData()メソッドに定義され、「グラフの軸のカスタマイズ」の2番目のコード・サンプルに示されています。折れ線グラフのデータはgetYearlySingleTimeData()メソッドに定義されています。両方のメソッドはchartDataSourceマネージドBeanに含まれています。

次のコードに、getYearlySingleTimeData()メソッドを示します。これは折れ線グラフのコレクション・モデルを定義し、サンプル・データを移入します。

public CollectionModel getYearlySingleTimeData() {
  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2010, 1, 27).getTime(), 35));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2011, 1, 27).getTime(), 55));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2012, 1, 27).getTime(), 60));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2013, 1, 27).getTime(), 75));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2014, 1, 27).getTime(), 65));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2015, 1, 27).getTime(), 55));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2016, 1, 27).getTime(), 85));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2017, 1, 27).getTime(), 70));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2018, 1, 27).getTime(), 75));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2019, 1, 27).getTime(), 45));
  dataItems.add(new ChartDataItem("Series 1",
                new GregorianCalendar(2020, 1, 27).getTime(), 50));
  return ModelUtils.toCollectionModel(dataItems);
}

23.4.5.1 参照オブジェクトをグラフに追加する方法

参照オブジェクトをグラフに追加するには、dvt:referenceAreaまたはdvt:referenceLineコンポーネントをグラフの関連付けられた軸の子として追加します。参照領域および参照線に設定された参照オブジェクト内でラップされた参照オブジェクトを使用するスパーク・チャートを除き、すべてのグラフでプロセスは同じです。

セグメント化された参照線または参照領域を指定するには、dvt:referenceAreaItemまたはdvt:referenceLineItemdvt:referenceAreaまたはdvt:referenceLineの子として追加します。af:iteratorを使用して参照アイテムをループするには、af:iteratorをグラフの軸の子として追加してから、参照アイテムを追加します。

注意:

参照線または参照オブジェクトをスパーク・チャートに追加するには、dvt:referenceObjectSetコンポーネントをスパーク・チャートに追加し、dvt:referenceObjectを参照線または参照領域ごとに構成します。詳細は、タグのドキュメントを参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

参照線または参照領域をグラフに追加する手順:

  1. 「構造」ウィンドウで、 「dvt:typeChartノードを開きます。
  2. 開いたノードに参照線を含む軸がない場合、「dvt:typeChartを右クリックしてチャートの中に挿入」 →(「グラフのX軸」または「グラフのY軸」または「グラフのY2軸」)を選択します。
  3. dvt:axisノードを右クリックして、の中に挿入」→「参照線」(参照線の場合)またはの中に挿入」→「参照面」(参照領域の場合)を選択します。
  4. 「dvt:referenceLine」または「dvt:referenceArea」を右クリックして、「プロパティに移動」を選択します。
  5. 参照線の「プロパティ」ウィンドウで次の値を入力します。
    • Value: 線が表示される軸の値を指定します。

      たとえば、25と入力すると、軸の25の箇所に線を配置します。

    • Color: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#008000と入力して、参照線を緑色で表示します。

    • LineStyle: 属性のドロップダウン・リストから、「dashed」または「dotted」を選択してデフォルトの表示を実線から変更します。

    • LineType: 属性のドロップダウン・リストから、線のタイプを選択します。デフォルトでは、この属性はautoに設定されます。これはstraightcurvedsteppedcenteredSteppedsegmentedcenteredSegmentedまたはnoneに設定することもできます。

    • LineWidth: 線の幅をピクセルで入力します。

    • Text: 参照線の説明を入力します。

    • DisplayedInLegend: 属性のドロップダウン・リストから、「on」を選択して参照線をグラフの凡例に含まれるようにします。

    参照領域の「プロパティ」ウィンドウで次の値を入力します。

    • Maximum: 参照領域の上限を指定します。

      たとえば、300と入力して、グラフの関連する軸に沿って参照領域の上限を300に設定します。

    • Minimum: 参照領域の下限を指定します。

      たとえば、250と入力して、グラフの関連する軸に沿って参照領域の下限を250に設定します。

    • Color: 16進数でRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#A0CEECと入力して、参照線を薄い青色で表示します。

    • LineType: 属性のドロップダウン・リストから、線のタイプを選択します。デフォルトでは、この属性はautoに設定されます。これはstraightcurvedsteppedcenteredSteppedsegmentedcenteredSegmentedまたはnoneに設定することもできます。

    • Text: 参照線の説明を入力します。

    • DisplayedInLegend: 属性のドロップダウン・リストから、「on」を選択して参照領域をグラフの凡例に含まれるようにします。

  6. 「構造」ウィンドウで、セグメント化された参照線を指定し、af:iteratorを使用して参照線アイテムを定義するには、「dvt:referenceLine」を右クリックして、「参照線アイテムの中に挿入」→「イテレータ」を選択します。

    「構造」ウィンドウで、セグメント化された参照領域を指定し、af:iteratorを使用して参照領域アイテムを定義するには、「dvt:referenceArea」を右クリックして、「参照領域アイテムの中に挿入」→「イテレータ」を選択します。

  7. セグメント化された参照線を操作するには、「af:iterator」または「dvt:referenceLine」ノードを右クリックして、「(イテレータまたは参照線)の中に挿入」→「参照線アイテム」を選択します。

    セグメント化された参照領域を操作するには、「af:iterator」または「dvt:referenceArea」ノードを右クリックして、「(イテレータまたは参照面)の中に挿入」→「参照領域アイテム」を選択します。

  8. 「dvt:referenceLineItem」または「dvt:referenceAreaItem」を右クリックして、「プロパティに移動」を選択します。
  9. 「プロパティ」ウィンドウで、次の値を入力します。
    • Value: 参照線アイテムの値を指定します。

      静的な値を入力したり、参照線アイテムの値に評価されるEL式を使用できます。たとえば、図23-51に示した折れ線グラフに参照線アイテムの値を指定するには、#{row.series == 'Series 1' ? row.value + 15:0}と入力します。

    • Maximum: 参照領域アイテムの最大値を指定します。

      静的な値を入力したり、参照領域アイテムの値に評価されるEL式を使用できます。たとえば、図23-51に示した折れ線グラフに参照領域アイテムの最大値を指定するには、#{row.value + 15}と入力します。

    • Minimum: 参照領域アイテムの最小値を指定します。

      静的な値を入力したり、参照領域アイテムの値に評価されるEL式を使用できます。たとえば、図23-51に示した折れ線グラフに参照領域アイテムの最小値を指定するには、#{row.value + 15}と入力します。

    • X: 参照線アイテムまたは参照領域アイテムがレンダリングされるX軸の位置を指定します。

      時間データを持つグラフの場合、これはタイム・スタンプです。カテゴリ軸を持つグラフの場合、これは、0から始まるグループの索引です。

      図23-51に示した折れ線グラフのX軸の位置を指定するには、#{row.series == 'Series 1' ? row.group:0}と入力します。

  10. さらに参照線アイテムを追加するには、追加アイテムごとに手順7から手順9を繰り返します。

23.4.5.2 参照オブジェクトのグラフへの追加に関する必知事項

複数セグメントの参照線または参照領域は、バブル・チャート、散布図および時間軸を使用して構成されたグラフでサポートされています。

23.4.6 積上げグラフを構成する方法

積上げグラフは、グループで累積した値を示します。通常、積上げグラフには2つ以上の系列が含まれ、1つの棒、面または線に集計されます。たとえば、3つの製品の売上げ合計を都市ごとにグループ分けをして表示できます。集合棒グラフでは、3つの棒の1つずつにそれぞれの製品が表示されます。積上げ棒グラフでは3つの棒が1つの棒に集計され、1つの棒がそれぞれの都市を示します。

図23-52に、棒グラフで系列を積上げた効果を示します。この例では、上の図の集合棒グラフの5つの系列が下の図の積上げ棒グラフとして構成されています。

図23-52 積上げ棒グラフ

この図は、周囲のテキストで説明されています。

積上げ表示を含むクイック・スタート・レイアウトを選択した場合、JDeveloperでは、自動的にグループごとに系列を積み上げます。それ以外の場合、stack属性をonに設定して、積上げを有効にできます。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

積上げグラフを構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで、Stack属性のドロップダウン・リストから、「on」を選択します。

23.4.7 グラフの系列のカスタマイズ

チャート・コンポーネントでseriesEffect属性を設定すると、グラフのすべての系列の塗りつぶしをカスタマイズできます。

dvt:chartSeriesStyleコンポーネントをグラフに追加すると、グラフの個々の系列の外観をカスタマイズできます。グラフ・タイプによっては、色、マーカー、線、塗りつぶし効果およびクリック操作をカスタマイズできます。組合せグラフの場合、表示するグラフを指定することもできます。

注意:

スパーク・チャートには1つの系列しか含まれていないので、seriesEffectまたはchartSeriesStyleはサポートされていません。スパーク・チャートをカスタマイズするには、dvt:sparkChartコンポーネントの値を「プロパティ」ウィンドウに入力します。系列の色をカスタマイズしたり、表示するマーカーを指定できます。詳細は、「プロパティ」ウィンドウで「コンポーネント・ヘルプ」をクリックしてください。

23.4.7.1 グラフの系列を構成する方法

グラフの個々の系列をカスタマイズするには、dvt:chartSeriesStyleコンポーネントを追加し、「プロパティ」ウィンドウでプロパティを構成します。

表23-7に、chartSeriesStyleコンポーネントで使用可能な属性およびそれらが適用されるグラフ・タイプを示します。


表23-7 dvt:chartSeriesStyleタグ

チャート・タグ 説明 サポートされているグラフ・タイプ

action

アクションへのメソッド・リファレンス。

面、棒、バブル、組合せ、折れ線

actionListener

アクション・リスナーへのメソッド・リファレンス。

面、棒、バブル、組合せ、折れ線

areaColor

面の系列の色を指定します。

面グラフ、組合せグラフ(面グラフあり)

assignedToY2

系列をY2軸に割り当てるかどうかを指定します。

面、棒、組合せ、折れ線

attributeChangeListener

属性変更リスナーへのメソッド参照です。

すべて

borderColor

系列の枠線の色を指定します。

すべて

borderWidth

系列の枠線の幅を指定します

すべて

color

系列の色を指定します。

すべて

displayInLegend

系列をグラフの凡例に表示するかどうかを指定します。

すべて

drilling

このグループをドリルできるかどうかを指定します。有効な値はoff(デフォルト)およびonです。onに設定すると、ユーザーがグループ・ラベルをクリック/タップしたときに、既存のdrillEventが起動されます。

すべて

id

コンポーネントのIDを指定します。

すべて

lineStyle

線の外観を指定します。

組合せ(折れ線グラフあり)、折れ線グラフ

lineType

線コネクタの外観を指定します。

面グラフ、バブル・チャート、散布図、組合せグラフ(折れ線グラフあり)

lineWidth

線の幅をピクセル単位で指定します。

組合せ(折れ線グラフあり)、折れ線グラフ

markerColor

系列の色と異なる場合に、データ・アイテム・マーカーの色を指定します。

面グラフ、バブル・チャート、組合せグラフ(面グラフまたは折れ線グラフあり)、折れ線グラフ、散布図

markerDisplayed

データ・アイテム・マーカーを表示するかどうかを指定します。

面グラフ、バブル・チャート、組合せグラフ(面グラフまたは折れ線グラフあり)、折れ線グラフ、散布図

markerShape

データ・アイテム・マーカーの形状を指定します。

面グラフ、バブル・チャート、組合せグラフ(面グラフまたは折れ線グラフあり)、折れ線グラフ、散布図

markerSize

データ・アイテム・マーカーのサイズを指定します(表示される場合)。

面グラフ、バブル・チャート、組合せグラフ(面グラフまたは折れ線グラフあり)、折れ線グラフ、散布図

pattern

系列のパターンを指定します。

すべて

rendered

コンポーネントがレンダリングされるかどうかを指定します。

すべて

series

系列スタイルが適用される系列を指定します。

すべて

stackCategory

積み上げる系列を指定する文字列値。

面、棒、組合せ、折れ線

type

系列を面グラフ、棒グラフ、折れ線グラフまたはlineWithAreaチャートのいずれとして表示するかを指定します。

組合せ


始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの系列をカスタマイズする手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ファセットseriesStamp」を選択します。
  2. グラフで2つ以上の系列のカスタマイズを予定している場合、「f:facet - dataStamp」を右クリックして、「ファセット系列スタンプの中に挿入」→「グループ」を選択します。
  3. 「af:group」または「f:facet seriesStamp」を右クリックして、「(グループまたはファセット系列スタンプ)の中に挿入」→「グラフの系列スタイル」を選択します。
  4. さらに系列スタイル要素を追加するには、「af:group」を右クリックして、各追加要素に対して、「グループの中に挿入」→「グラフの系列スタイル」を選択します。
  5. 「dvt:chartSeriesStyle」を右クリックして、「プロパティに移動」を選択します。
  6. 「プロパティ」ウィンドウで、必要なカスタマイズ項目に値を入力します。
    • Action: action属性に使用するメソッド参照を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してメソッド参照に評価される式を入力します。

    • ActionListener: アクション・リスナーに使用するメソッド参照を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してメソッド参照に評価される式を入力します。

    • AreaColor: 面塗りつぶしの色に使用する、16進数のRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#000080と入力して、面塗りつぶしの色を青色で表示します。

    • AssignedToY2: 属性のドロップダウン・リストから、「true」を選択してY2軸をカスタマイズします。

    • BorderColor: 枠線の色に使用する、16進数のRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

      たとえば、#008000と入力して、系列の枠線の色を緑色で表示します。

    • BorderWidth: 境界線の幅に数値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択して数値に評価される式を入力します。

      たとえば、4と入力して、幅が4の系列の枠線を表示します。

    • Color: 系列の色に使用する、16進数のRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

    • DisplayInLegend: 凡例に系列を表示しない場合、属性のドロップダウン・リストから、「false」を選択します。デフォルトでは、この属性は「true」に設定されています。

    • LineStyle: 属性のドロップダウン・リストから、線のスタイルを選択します。デフォルトでは、この属性は「solid」に設定され、実線を表示します。この値を「dashed」または「dotted」に設定することもできます。

    • LineType: 属性のドロップダウン・リストから、線のタイプを選択します。デフォルトでは、この属性はautoに設定されます。これはstraightcurvedsteppedcenteredSteppedsegmentedcenteredSegmentedまたはnoneに設定することもできます。

    • LineWidth: 線の幅をピクセルで指定します。

    • MarkerColor: 系列の色に使用する、16進数のRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

    • MarkerDisplayed: 属性のドロップダウン・リストから「true」を選択して、線または面の系列マーカーを表示します。デフォルトでは、この属性は「false」に設定されています。

    • MarkerSize: 列マーカー・サイズの値をピクセル単位で入力します。

    • Pattern: 属性のドロップダウン・リストから、系列のパターンを選択します。

      使用可能なパターンには、「smallChecker」「smallCrosshatch」「smallDiagonalLeft」「smallDiagonalRight」「smallDiamond」「smallTriangle」「largeChecker」「largeCrosshatch」「largeDiagonalLeft」「largeDiagonalRight」「largeDiamond」および「largeTriangle」があります。

    • Series: 系列の名前を入力します。

      たとえば、グラフの1番目の系列をカスタマイズするには、Series 1と入力します。

      アプリケーションでFusionテクノロジ・スタックを使用し、データバインドされたグラフを構成する場合、「系列」フィールドにはドロップダウン・リストから使用可能なバインディングが表示されます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のデータバインドされたチャートの作成に関する項を参照してください

    • StackCategory: 系列のstackCategoryを示す文字列値を入力します。同じstackCategoryを持つ系列が一緒に積み上げられます。一部の系列は単独のままになり、他の系列は意図したとおりに積み上げられます。親チャート・タグのstack属性にonが設定されている場合にのみ、この属性は機能します。

      たとえば、5つの系列を持つチャートで、stack1などの文字列をSeries 1およびSeries 4の両方のStackCategory属性に追加すると、それらが一緒に積み上げられ、他の系列は個別の棒のままになります。

    • Type: 属性のドロップダウン・リストから、組合せグラフの系列に使用するグラフ・タイプを選択します。

      使用可能な選択肢には、「area」「bar」「line」,または「lineWithArea」があります。

23.4.7.2 グラフのすべての系列に塗りつぶし効果を構成する方法

グラフのすべての系列の塗りつぶし効果をカスタマイズするには、seriesEffect属性の値を指定します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフのすべての系列に塗りつぶし効果を構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで、SeriesEffect属性のドロップダウン・リストから、必要な塗りつぶし効果を選択します。

    デフォルトでは、SeriesEffect属性は「gradient」に設定されています。色を選択してグラデーションを設定しないでグラフをレンダリングしたり、パターンを選択して系列ごとに異なるパターンで表示できます。

    系列に特定のパターンを指定する場合、「グラフの系列を構成する方法」を参照してください。

23.4.8 チャート・グループのカスタマイズ

チャート・グループは、データ・アイテム・グループの階層的なラベルをサポートしています。これらのラベルは、スタイル、ツールチップ、およびドリルでカスタマイズできます。

チャート・グループ階層をカスタマイズするには、グラフにdvt:chartGroupコンポーネントを追加します。階層の各レベルを作成するために、追加のdvt:chartGroupタグをネストすることができます。階層グループ・ラベルは不均等に配分でき、フォントの書類とサイズ、テキスト色、背景などのカスタム・スタイル設定もサポートされています。

注意:

スパーク・チャートには1つの系列しか含まれていないので、chartGroupはサポートされません。スパーク・チャートをカスタマイズするには、dvt:sparkChartコンポーネントの値を「プロパティ」ウィンドウに入力します。系列の色をカスタマイズしたり、表示するマーカーを指定できます。詳細は、「プロパティ」ウィンドウで「コンポーネント・ヘルプ」をクリックしてください。

23.4.8.1 チャート・グループをカスタマイズする方法

グラフの個々のグループをカスタマイズするには、dvt:chartGroupコンポーネントをグラフに追加し、「プロパティ」ウィンドウで属性値を構成します。

図23-8に、chartGroupタグで使用できる属性をリストします。


表23-8 dvt:chartGroup属性

属性

説明

drilling

このグループをドリルできるかどうかを指定します。有効な値はoff(デフォルト)およびonです。onに設定すると、ユーザーがグループ・ラベルをクリック/タップしたときに、既存のdrillEventが起動されます。

group

グループの名前を指定します。名前は、グループ・ラベルとして使用されます。

groupId

グループをgroup、またはChartDataItemgroupIdと照合するグループIDを指定します。階層グループを使用する場合、リーフのchartGroup要素に必要です。groupIdは、chartGroupインスタンスごとに一意である必要があります。

labelStyle

group属性によって指定されるグループのラベル・スタイルを指定します。

rendered

コンポーネントがレンダリングされるかどうかを指定します。有効な値はtrue(デフォルト)およびfalseです。

shortDesc

コンポーネント上にカーソルを置いたときにツールチップとして表示されるテキストを指定します。ツールチップはグループに使用されます。


始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

チャート・グループをカスタマイズする手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ファセットgroupStamp」を選択します。
  2. グラフで複数の非階層グループのカスタマイズを予定している場合、「f:facet - groupStamp」を右クリックして、「ファセット・グループ・スタンプの中に挿入」→「グループ」を選択します。
  3. 「af:group」または「f:facet groupStamp」を右クリックして、「(グループまたはファセットgroupStamp)の中に挿入」→チャート・グループを選択します。
  4. さらにグループ要素を追加するには、「af:group」を右クリックして、各追加要素に対して、「グループの中に挿入」→チャート・グループを選択します。
  5. 「dvt:chartGroup」を右クリックして、「プロパティに移動」を選択します。
  6. 「プロパティ」ウィンドウで、必要なカスタマイズ項目に値を入力します。
    • Group:文字列値を入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して、グループ・ラベルとして表示される文字列に評価される式を指定します。

    • GroupId:文字列値を入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して、対応するChartDataItemの値に一致する文字列に評価される式を指定します。

    • LabelStyle:文字列値を入力するか、属性のドロップダウン・メニューから「式ビルダー」を選択して、グループ・ラベルのスタイルを指定するカスタムCSSマークアップに評価される式を指定します。

    • ShortDesc:文字列値を入力するか、属性のドロップダウン・メニューから「テキスト・リソースの選択」または「式ビルダー」を選択して、グループにカーソルを置いたときツールチップとして表示される文字列に評価される式を指定します。

23.4.8.2 チャート・グループを使用して階層ラベルを構成する方法

チャート・グループは階層的なネストをサポートし、データで複数レベルのグループ化を表します。図23-53に、階層X軸の付いた2つのグラフを示します。棒グラフのグループ・ラベルには、階層分布とデフォルトのスタイル設定もあります。面グラフには、不規則な分布とカスタム・スタイルが適用されています。

図23-53 グラフ軸の階層グループ・ラベル

画像には、階層が均等でデフォルト・スタイルの棒グラフと、階層が不均等でカスタム・ラベル・スタイルの面グラフが示されています。

次の例は、カスタム階層ラベルの付いた棒グラフと面グラフのJSFページのコード・スニペットです。ラベルに該当するコードは、太字で示してあります。

<dvt:barChart value="#{chartDataSource.brandData}" var="row"  inlineStyle="width:700px;height:400px" title="Hierarchical Group Labels">
	<f:facet name="dataStamp">
		<dvt:chartDataItem series="#{row.brand}" group="" groupId="#{row.region}_#{row.year}" value="#{row.value}"/>
	</f:facet>
	<f:facet name="groupStamp">
		<dvt:chartGroup group="#{row.region}" groupId="#{row.region}">
			<dvt:chartGroup group="#{row.year}" groupId="#{row.region}_#{row.year}"/>
		</dvt:chartGroup>
	</f:facet>
	<dvt:chartYAxis title="Number of units sold"/>
	<dvt:chartLegend rendered="true"/>
	<dvt:chartValueFormat type="group" tooltipLabel="Region" />
	<dvt:chartValueFormat type="group" tooltipLabel="Year" />
	<dvt:chartValueFormat type="series" tooltipLabel="Department" />
</dvt:barChart>

<dvt:areaChart value="#{chartDataSource.defaultAreaData}" var="row"  inlineStyle="width:700px;height:400px" title="Hierarchical Group Labels with Uneven Hierarchy and Custom Styling">
	<f:facet name="dataStamp">
		<dvt:chartDataItem series="#{row.series}"  group="#{row.group}" value="#{row.value}"/>
	</f:facet>
	<f:facet name="groupStamp">
		<dvt:chartGroup group="Group AA" groupId="Group AA"  shortDesc="Outermost group" labelStyle="font-size: 20px; ">
			<dvt:chartGroup group="Inner #{row.group}" groupId="#{row.group}" shortDesc="Sub Level 1" labelStyle="font-size: 14px; font-family: Comic Sans MS"  rendered="#{row.group != 'Group B' and row.group != 'Group C'}"/>
			<dvt:chartGroup group="Group AB" groupId="Group AB"  shortDesc="Sub Level 1" labelStyle="font-size: 20px; ">
				<dvt:chartGroup group="Inner #{row.group}" groupId="#{row.group}" shortDesc="Sub Level 2" labelStyle="font-size: 14px; font-family: Comic Sans MS" rendered="#{row.group == 'Group C'}"/>
			</dvt:chartGroup>
		</dvt:chartGroup>
	</f:facet>
	<dvt:chartLegend rendered="false"/>
</dvt:areaChart>

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

チャート・グループ階層を作成するには:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ファセットgroupStamp」を選択します。
  2. グラフで複数の非階層グループのカスタマイズを予定している場合、「f:facet - groupStamp」を右クリックして、「ファセット・グループ・スタンプの中に挿入」→「グループ」を選択します。
  3. 「af:group」または「f:facet groupStamp」を右クリックして、「(グループまたはファセットgroupStamp)の中に挿入」→チャート・グループを選択します。
  4. 階層でネストしたグループを作成するには、親であるdvt:chartGroupを右クリックし、ネストする追加のグループごとに「チャート・グループの中に挿入」→チャート・グループを選択します。
  5. ネストしていないグループを作成するには、ステップ3を繰り返します。手順4を繰り返し、階層にブランチ要素を追加します。
  6. カスタマイズするdvt:chartGroupタグを右クリックして、「プロパティに移動」を選択します。
    • GroupおよびGroupId属性に値を入力して、グループのデータ値を指定します。

    • 適切な属性に値を入力してラベル・スタイルを構成します。

    ラベル・スタイルのカスタマイズの詳細は、チャート・グループをカスタマイズする方法を参照してください。
  7. dvt:chartGroupタグごとにステップ6を繰り返し、必要に応じてデータ値およびスタイルを指定します。

23.4.9 円グラフのその他のスライスを構成する方法

その他のスライスを使用して、小さなデータ・セットを1つの大きなセットに集計すると、比較が容易になります(図23-36を参照)。その他のスライスを構成するには、otherThreshold属性の値を設定し、スライスがその他のスライスに集計されるパーセンテージを指定します。オプションで、その他のスライスの色の値を設定できます。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

円グラフのその他のスライスを構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで「外観」セクションを開きます。

    デフォルトでは、SeriesEffect属性は「gradient」に設定されています。色を選択してグラデーションを設定しないでグラフをレンダリングしたり、パターンを選択して系列ごとに異なるパターンで表示できます。

    系列に特定のパターンを指定する場合、「グラフの系列を構成する方法」を参照してください。

  3. 「OtherThreshold」フィールドで、0から1までの値を入力して、スライスが集計されるパーセンテージを設定します。

    値が円グラフの合計の2パーセント未満のすべてのスライスを集計する場合、0.02と入力します。

  4. オプションで、OtherColorフィールドに枠線の色に使用する、16進数のRGB値を指定するか、属性のドロップダウン・メニューから「式ビルダー」を選択してRGB値に評価される式を入力します。

    たとえば、#008000と入力して、その他のスライスを緑色で表示します。

23.4.10 円グラフのスライスを切り離す方法

dvt:pieChartタグのsliceGaps属性、またはdvt:pieDataItemタグのexplode属性を使用すると、各スライスを他のスライスから切り離すように円グラフのスライスを構成できます。スライス間の距離に1から10までの値を指定できます。

図23-54に、スライスを切り離して構成した、図23-41の円グラフを示します。この例では、円グラフのデータ・アイテムの切離し属性は0.25として定義されています。

例23-54 スライスを切り離して構成した円グラフ

この図の詳細は、周辺の説明を参照してください。

切離し属性を使用して、個々のスライスを構成することもできます。円グラフのSelectionEffect属性を使用して、選択したスライスを自動的に切り離すように構成することもできます。図23-55に、系列1のスライスを切り離すように構成した同じ円グラフを示します。

例23-55 1つのスライスを切り離して構成した円グラフ

この図の詳細は、周辺の説明を参照してください。

個々のスライスを構成するには、EL式を使用してスライスおよびexplode属性の値を指定します。円グラフの個々のスライスは系列であり、EL式でその系列の番号を参照します。

たとえば、円グラフの最初の系列(スライス)のexplode属性を0.5に設定するには、EL式に#{row.series == 'Series 1' ? 0.5 : 0}と入力します。3番目の系列のexplode属性を0.25に設定する場合、EL式に#{row.series == 'Series 3' ? 0.25 : 0}と入力します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

円グラフのスライスを切り離す手順:

  1. 「構造」ウィンドウで「dvt:pieDataItem」ノードを右クリックして、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで「外観」セクションを開きます。
  3. 円グラフのすべてのスライスを切り離すには、「開く」フィールドに0から1までの値を入力します。
  4. 円グラフで1つのスライスを切り離すには、「開く」フィールドに系列名および切離しの値に評価されるEL式を入力します。

    たとえば、図23-55に示す円グラフの最初の系列を切り離すには、「開く」フィールドに#{row.series == 'Series 1' ? 0.5 : 0}と入力します。

23.4.11 アニメーションを構成する方法

グラフのアニメーションを構成するには、af:transitionタグをチャート・コンポーネントの子として追加し、トリガー・タイプおよび遷移効果を構成します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフのアニメーションを構成する手順:

  1. 「構造」ウィンドウで、チャート・コンポーネントをクリックします。
  2. 次の例に示すように、ソース・エディタで、強調表示したチャート・コンポーネントの子としてaf:transitionタグを追加します。
    <af:transition triggerType="display" transition="auto"/>
    

23.4.12 スキニングおよびグラフの表示要素のカスタマイズに関する必知事項

グラフは、コンポーネントのトップ・レベルのみでなく、軸、凡例、系列、マーキー・アイコン、ラベルおよび描画エリアについても、色やフォント・スタイルをカスタマイズするためのスキニングもサポートします。スキニングを使用して、アニメーションの継続時間およびグラフの系列の効果を定義できます。

次のコードに、系列の塗りつぶし効果のパターンを表示するように構成されたグラフのスキニング・キーを示します。

af|dvt-chart
  {
    -tr-series-effect: pattern;
  }

グラフのスキニング・キーの完全なリストは、Oracle Fusion Middleware Oracle ADF Facesスキン・セレクタ・データ視覚化ツール・タグ・リファレンスを参照してください。スキニングとスタイルを使用したアプリケーションのカスタマイズの詳細は、「スタイルおよびスキンを使用した外観のカスタマイズ」を参照してください。

23.5 対話機能のグラフへの追加

データ・カーソル、表示および非表示動作、ホバー動作、選択のサポート、ポップアップ、コンテキスト・メニュー、およびズームとスクロールなど、様々な対話機能をグラフに追加できます。

23.5.1 データ・カーソルを追加する方法

データ・カーソルをグラフに追加すると、ユーザーはより簡単にデータ・ポイントにフォーカスできます。選択および他のクリックの対話性が有効でないグラフの場合、データ・カーソルを使用して、マウスまたはタッチ・ジェスチャに最も近いデータ・アイテムに対してフィードバックを提供できます。

データ・カーソルは、デフォルトでタッチ装置の面グラフおよび折れ線グラフで有効になっています。データ・カーソルを明示的に追加するには、dataCursor属性をonに設定し、データ・カーソルの動作を定義します。

図23-56に、データ・カーソルを使用して構成された、図23-40の折れ線グラフを示します。この例では、データ・カーソルは、系列名、グループ値および系列値を表示します。データの詳細情報を囲むボックスが系列の塗りつぶしの色と同じ色で表示されています。

図23-56 投資家の詳細を示すデータ・カーソルを使用した折れ線グラフ

この図の詳細は、周辺の説明を参照してください。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフのデータ・カーソルを構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで、「データ」セクションを開きます。
  3. DataCursor属性のドロップダウン・リストから、「on」を選択してデータ・カーソルを有効にします。
  4. DataCursorBehavior属性のドロップダウン・リストから、「smoot」または「snap」選択してデータ・カーソルの動作を指定します。

    デフォルトでは、データ・カーソルの動作は「auto」に設定されています。データ・カーソルの動作は、折れ線グラフおよび面グラフの場合はsmoothの動作に、その他のグラフ・タイプの場合はsnapの動作になります。動作を明示的に設定するには、これを「smooth」または「snap」に設定します。

注意:

データ・カーソルのツールチップに表示される内容は、dvt:chartDataItemまたはdvt:pieDataItemコンポーネントのshortDesc属性によって決定されます。この値は、dvt:chartDataItemまたはdvt:pieDataItemの「プロパティ」ウィンドウで編集できます。

23.5.2 表示および非表示動作を構成する方法

表示および非表示の動作(ユーザーが凡例の系列アイテムをクリックすると系列アイテムを表示または非表示を可能にする)を構成するには、グラフのhideAndShowBehavior属性を構成します。

図23-57に、表示および非表示動作サポートのために構成された棒グラフを示します。ユーザーが複数の凡例アイテムをクリックすると各系列アイテムが非表示になり、再度クリックすると表示されます。凡例アイテムにはどの系列が非表示なのかを示す白の塗りつぶしがあります。

図23-57 表示および非表示動作が構成された棒グラフ

この図については周囲のテキストで説明しています。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

表示および非表示の動作を構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで、「動作」セクションを開きます。
  3. HideAndShowBehavior属性のドロップダウン・リストから、「withRescale」または「withoutRescale」を選択してデータ・カーソルの動作を指定します。

    「withoutRescale」を選択すると、データに合せるために軸のサイズが変更されることはありません。軸のサイズを変更する場合は、「withRescale」を選択します。

23.5.3 凡例およびマーカーの淡色表示を構成する方法

凡例およびマーカーの淡色表示を構成するには、グラフのhoverBehavior属性をdimに設定します。各系列の上にマウスを置くと、残りの系列が淡色表示されます。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

凡例およびマーカーの淡色表示を構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  2. 「プロパティ」ウィンドウで、「動作」セクションを開きます。
  3. HoverBehavior属性のドロップダウン・リストから、「dim」を選択します。

23.5.4 選択サポートを構成する方法

グラフは、データ・マーカーの単一または複数の選択を有効にできます。ポップアップおよびコンテキスト・メニューを表示したり、ユーザーがデータ・マーカーをクリックしたときにプログラムで応答したりするには、選択を有効にする必要があります。選択サポートを有効にするには、グラフのdataSelection属性をsingleまたはmultipleに設定します。

選択サポートを有効にすると、ユーザーのグラフのクリックに応答する、選択リスナーを指定できます。

図23-58に、複数選択サポートのために構成された棒グラフを示します。クリックして1つの棒を選択したり、[Ctrl]を押しながらクリックして複数の棒を選択できます。選択した棒を示すために棒が強調表示され、選択した行キーを示すページの上部にメッセージが表示されます。

図23-58 複数選択用に構成された棒グラフ

この図の詳細は、周辺の説明を参照してください。

次の例に、棒グラフおよび選択リスナーを定義するJSFページのコードを示します。選択のコードが強調表示されています。

<af:group id="g1">
  <af:outputText inlineStyle="font-size:large;" value="Selection Listener" id="ot1"/>
  <af:spacer width="50px"/>
  <af:outputText partialTriggers="chartSelect"
                 value="#{chartDataSource.selectionState}"
                 inlineStyle="font-size:larger;" id="ot2"/>
  <af:panelGroupLayout id="pgl1" layout="horizontal">
    <dvt:barChart id="chartSelect" value="#{chartDataSource.defaultBarData}"
                  var="row" dataSelection="multiple"
                  selectionListener="#{chartDataSource.selectionListener}">
      <dvt:chartLegend id="leg1" rendered="false"/>
      <f:facet name="dataStamp">
        <dvt:chartDataItem id="cdi1" value="#{row.value}" group="#{row.group}"
                           series="#{row.series}"/>
      </f:facet>
    </dvt:barChart>
  </af:panelGroupLayout>
</af:group>

この例では、棒グラフを定義するコードはdefaultBarData()という名前のメソッドに含まれていて、選択リスナーはselectionListener()という名前のメソッドに定義されています。

次の例に、defaultBarData()およびselectionListener()メソッドを示します。メソッドおよびインポートが、「面グラフ、棒グラフ、組合せグラフおよび折れ線グラフにデータを追加する方法」の最初のコード・サンプルで作成されたchartDataSourceクラスに追加されました。

// Additional imports needed by selection listener
import oracle.adf.view.faces.bi.component.chart.UIChartBase;import org.apache.myfaces.trinidad.event.SelectionEvent;
import org.apache.myfaces.trinidad.model.RowKeySet;

// Bar Chart data
public CollectionModel getDefaultBarData() {  List<ChartDataItem> dataItems = new ArrayList<ChartDataItem>();  dataItems.add(new ChartDataItem("Series 1", "Group A", 42));  dataItems.add(new ChartDataItem("Series 1", "Group B", 34));  dataItems.add(new ChartDataItem("Series 2", "Group A", 55));  dataItems.add(new ChartDataItem("Series 2", "Group B", 30));  dataItems.add(new ChartDataItem("Series 3", "Group A", 36));  dataItems.add(new ChartDataItem("Series 3", "Group B", 50));  dataItems.add(new ChartDataItem("Series 4", "Group A", 22));  dataItems.add(new ChartDataItem("Series 4", "Group B", 46));  dataItems.add(new ChartDataItem("Series 5", "Group A", 22));  dataItems.add(new ChartDataItem("Series 5", "Group B", 46));  return ModelUtils.toCollectionModel(dataItems);
}

// Selection state
private String m_selection = "No Nodes Selected";
public String getSelectionState() {
  return m_selection;
}

// Selection Listener
public void selectionListener(SelectionEvent event) {    
  UIChartBase chart = (UIChartBase) event.getComponent();
  RowKeySet rowKeySet = chart.getSelectedRowKeys();
  if(rowKeySet != null && rowKeySet.size() > 0) {
    StringBuilder sb = new StringBuilder("Selection: ");
    for(Object rowKey : rowKeySet) {
      sb.append(rowKey).append(", ");
    }
  // Remove the trailing comma and set the selection string
    sb.setLength(sb.length()-2);
    m_selection = sb.toString();
  }
  else
    m_selection = "No Nodes Selected";
}

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

グラフの選択サポートを構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。

  2. 「プロパティ」ウィンドウで、「データ」セクションを開きます。

  3. DataSelectionのドロップダウン・リストから、「single」または「multiple」を選択して選択サポートを有効にします。

  4. オプションで、選択リスナーを有効にするには、次のようにします。

    1. 選択リスナーを定義するメソッドを作成し、これをグラフのマネージドBeanに追加します。

      クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

    2. 「プロパティ」ウィンドウの「SelectionListener」フィールドで、選択リスナーの名前を入力します。

      たとえば、chartDataSourceという名前のマネージドBeanおよびselectionListener()という名前のメソッドに対して、「SelectionListener」フィールドに#{chartDataSource.selectionListener}と入力します。

      SelectionListener属性のドロップダウン・メニューから、「編集」を選択して、「プロパティの編集: 選択リスナー」ダイアログでマネージドBeanおよびメソッドを選択することもできます。あるいは、「式ビルダー」を選択して、選択リスナーを返す式を入力することもできます。

  5. 必要に応じて追加の要素を構成します。

    たとえば、この項の複数選択の例を複製するには、「選択サポートを構成する方法」の最初のコード・サンプルに示したaf:outputTextコンポーネントを追加します。

23.5.5 ポップアップおよびコンテキスト・メニューを構成する方法

ポップアップまたはコンテキスト・メニューを追加するプロセスは、基本的に同じです。af:showPopupBehaviorタグをグラフのデータ・アイテムのいずれかの子として追加し、ポップアップ・メニューの場合はトリガー・タイプをclickとして、コンテキスト・メニューの場合はcontextMenuとして定義して、ページに必要な動作が含まれるaf:popupを追加します。

図23-59に、ポップアップのサポート用に構成した、図23-41の円グラフを示します。円グラフのスライスのいずれかをクリックすると、ノート・ウィンドウがメッセージとともにポップアップ表示されます。

図23-59 ノート・ウィンドウ・ポップアップで構成された円グラフ

この図の詳細は、周辺の説明を参照してください。

次の例に、図23-59で示したポップアップ・メニュー用のページのコードを示します。この例では、af:showPopupBehaviorコンポーネントがpopupIdを使用してaf:popupコンポーネントを参照しています。af:popupコンポーネントがaf:noteWindowコンポーネントを使用して構成されていて、これはaf:outputFormattedコンポーネントで簡単なメッセージを表示するように構成されています。af:showPopupBehaviorタグのtriggerTypeclickに設定されていて、ユーザーが円グラフのスライスのいずれかをクリックしたときにノート・ウィンドウが起動されます。

<af:group id="g1">
  <dvt:pieChart id="chart1" value="#{chartDataSource.defaultPieData}"
                var="row" dataSelection="single">
    <dvt:chartLegend id="leg1" rendered="true"/>
    <dvt:pieDataItem label="#{row.series}" value="#{row.value}" id="pdi1">
      <af:showPopupBehavior popupId="::noteWindowPopup" triggerType="click"
                            align="afterStart"/>
    </dvt:pieDataItem>
  </dvt:pieChart>
  <af:popup childCreation="deferred" autoCancel="disabled"
            id="noteWindowPopup" clientComponent="true"
            launcherVar="source" eventContext="launcher">
    <af:noteWindow id="nw1">
      <af:outputFormatted value="This is an example of a chart popup" id="of1"/>
    </af:noteWindow>
  </af:popup>
</af:group>

次のコード・スニペットに示すように、af:showPopupBehaviorコンポーネントのトリガー・タイプをcontextMenuに変更して、ポップアップをコンテキスト・メニューに変更できます。

<af:showPopupBehavior popupId="::noteWindowPopup" triggerType="contextMenu"/>

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

ポップアップ・コンポーネントをページに追加します。af:popupコンポーネントの構成の詳細は、「ポップアップ・ダイアログ、メニューおよびウィンドウの使用方法」を参照してください。

ポップアップまたはコンテキスト・メニューをグラフに追加する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「ポップアップ表示動作」を選択します。
  2. 「af:showPopupBehavior」を右クリックし、「プロパティに移動」を選択します。
  3. 「プロパティ」ウィンドウで、次の値を入力します。
    • PopupId: af:popupコンポーネントのIDを指定します。

    • TriggerType: ポップアップ・メニューの場合、clickと入力します。コンテキスト・メニューの場合、contextMenuと入力します。

    オプションで、AlignAlignIdおよびDisabledの値を設定します。af:showPopupBehaviorコンポーネントの詳細は、「コンポーネント・ヘルプ」をクリックしてください。

  4. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。
  5. 「プロパティ」ウィンドウで、「データ」セクションを開きます。
  6. DataSelectionのドロップダウン・リストから、「single」または「multiple」を選択して選択サポートを有効にします。

23.5.6 グラフのズームおよびスクロールを構成する方法

マーキー・ズームおよびスクロールを含むようにグラフを構成できます。これを使用すると、マウスを使用してグラフのある領域にフォーカスしたり、データをスクロールできます。この機能は、大きなデータ・セットの場合に役立つことがあります。

図23-60に、マーキー・ズームおよびスクロールを構成したバブル・チャートを示します。グラフのある領域を選択してからマウス・ボタンを離し、選択した領域にズーム・インします。マウス・ホイールを上にスクロールして、グラフ・データにズーム・インすることもできます。グラフを元の表示に戻すには、マウス・ホイールを下にスクロールします。

図23-60 マーキー・ズームおよびスクロールを構成したバブル・チャート

この図の詳細は、周辺の説明を参照してください。

マーキー・ズームおよびスクロールを構成するには、グラフのzoomAndScroll属性の値を設定します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

マーキー・ズームおよびスクロールを構成する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、「プロパティに移動」を選択します。

  2. 「プロパティ」ウィンドウで、「動作」セクションを開きます。

  3. ZoomAndScrollのドロップダウン・リストから、必要なズームおよびスクロール動作を選択します。デフォルトでは、この属性は「off」に設定されています。使用可能なオプションは次のとおりです。

    • delayed: ズームまたはスクロール・アクションが完了するまでグラフの更新が待機することを指定します。ズームとスクロールの両方が有効になります。

      グラフのレンダリングを遅くする場合、delayedを指定します。

    • delayedScrollOnly: スクロール・アクションが完了するまでグラフの更新が待機することを指定します。マーキー・ズーム・アイコンは表示されません。

    • live: 操作されるとグラフも続けて更新されることを指定します。ズームとスクロールの両方が有効になります。

    • liveScrollOnly: 操作されるとグラフも続けて更新されることを指定します。マーキー・ズーム・アイコンは表示されません。

    ZoomAndScroll属性のドロップダウン・メニューから、「式ビルダー」を選択して、ズーム動作およびスクロール動作を返す式を入力することもできます。

  4. オプションで、選択リスナーを有効にするには、次のようにします。

    1. 選択リスナーを定義するメソッドを作成し、これをグラフのマネージドBeanに追加します。

      クラス作成のヘルプが必要な場合は、『Oracle JDeveloperによるアプリケーションの開発』のJavaコードの使用に関する項を参照してください。マネージドBeanのヘルプは、「マネージドBeanの作成と使用」を参照してください。

    2. 「プロパティ」ウィンドウの「SelectionListener」フィールドで、選択リスナーの名前を入力します。

      たとえば、chartDataSourceという名前のマネージドBeanおよびselectionListener()という名前のメソッドに対して、「SelectionListener」フィールドに#{chartDataSource.selectionListener}と入力します。

      SelectionListener属性のドロップダウン・メニューから、「編集」を選択して、「プロパティの編集: 選択リスナー」ダイアログでマネージドBeanおよびメソッドを選択することもできます。あるいは、「式ビルダー」を選択して、選択リスナーを返す式を入力することもできます。

  5. 必要に応じて追加の要素を構成します。

    たとえば、この項の複数選択の例を複製するには、「選択サポートを構成する方法」の最初のコード・サンプルに示したaf:outputTextコンポーネントを追加します。

23.5.7 グラフの概要ウィンドウを構成する方法

ビューポートをグラフに追加し、小さなフォーム・ファクタを使用してデータ・セット全体を表示することができます。その後、データのサブセットを表示するように元の折れ線グラフを構成します。

図23-61に、概要ポートを使用して構成した図23-40の折れ線グラフを示します。グラフのある領域にズーム・インすると、ビューポートはユーザーの選択に合うように変化します。ビューポートのそれぞれの側のハンドルをドラッグすると、ビューポートを拡大または縮小できます。

図23-61 概要を使用して構成された折れ線グラフ

この図の詳細は、周辺の説明を参照してください。

概要ウィンドウを構成するには、概要ファセットおよび概要ウィンドウをグラフに追加し、概要の範囲にグラフの軸を構成します。

始める前に:

グラフの属性やグラフの子タグが機能にどのような影響を与えるかについて理解しておくと役立ちます。グラフの構成の詳細は、「グラフの構成」を参照してください。

他のADF Faces機能を使用して追加できる機能について理解することが役立つ場合もあります。詳細は、「チャート・コンポーネントの追加機能」を参照してください。

グラフをページに追加します。グラフのページへの追加の詳細は、「ページへのグラフの追加方法」を参照してください。

概要ウィンドウをグラフに追加する手順:

  1. 「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」 →「ファセット概要」を選択します。
  2. 「f:facet - overview」を右クリックして、「ファセット概要の中に挿入」→「概要」を選択します。
  3. 「dvt:overview」を右クリックして、「プロパティに移動」を選択します。
  4. 「プロパティ」ウィンドウで、必要に応じて値を入力し、概要ウィンドウのスタイルを設定します。

    たとえば、概要ウィンドウに使用するインライン・スタイルまたはスタイル・クラスを指定できます。概要ウィンドウのプロパティのヘルプを参照するには、「コンポーネント・ヘルプ」をクリックします。

  5. グラフにX軸がない場合、「構造」ウィンドウで「dvt:typeChartを右クリックし、チャートの中に挿入」→「グラフのX軸」を選択します。
  6. 「dvt:chartXAxis」を右クリックして、「プロパティに移動」を選択します。
  7. 「プロパティ」ウィンドウで、「ビューポート」セクションを開きます。
  8. Viewport属性のドロップダウン・リストから、必要に応じて次の項目の値を入力して、ビューポートの範囲を設定します。
    • ViewportStartGroup: 現在のビューポートの開始グループを指定します。この属性はグループまたは時間のX軸を持つグラフにのみ適用されます。指定しない場合、デフォルトの開始グループはデータ・セットの最初のグループになります。

      たとえば、グラフのグループが都市データから構成される場合、ViewportStartGroupに都市の名前をLondonと入力できます。

      属性のドロップダウン・メニューから、「式ビルダー」を選択して、ビューポートの開始グループを返す式を入力することもできます。

    • ViewportEndGroup: 現在のビューポートの終了グループを指定します。この属性はグループまたは時間のX軸を持つグラフにのみ適用されます。指定しない場合、デフォルトの終了グループはデータ・セットの最後のグループになります。

    • ViewportMinimum: ズームおよびスクロールのための現在のビューポートの最小X座標軸を指定します。

      グループ軸の場合、グループ索引はX座標軸として処理されます。時間軸の場合、グループのタイム・スタンプはX軸座標として処理されます。viewportStartGroupおよびviewportMinimumのどちらも指定された場合、viewportStartGroupが優先されます。指定しない場合、この値は軸の最小値になります。

      属性のドロップダウン・メニューから、「式ビルダー」を選択して、ビューポートの最小値を返す式を入力することもできます。図23-61に示した折れ線グラフの場合、メソッドをchartDataSourceマネージドBeanに追加して、ビューポートの最小値を返します。

      次のコードに、ビューポートの最小値を返すサンプル・メソッドを示します。この例では、ビューポートの最小値が2016年1月1日として構成されています。

      // Add these imports to your bean
      import java.util.Date;
      import java.util.GregorianCalendar;
      
      public Date getStockViewportMinimum() {
        return new GregorianCalendar(2016, 0, 1).getTime();
      }
      

      グラフにこのメソッドを使用するには、ViewportMinimum#{chartDataSource.stockViewportMinimum}と入力します。

    • ViewportMaximum: ズームおよびスクロールのための現在のビューポートの最大X座標軸を指定します。

      ViewportMaximum属性のドロップダウン・メニューから、「式ビルダー」を選択して、ズーム動作およびスクロール動作を返す式を入力することもできます。