<dvt:pieGraph>

dvt:pieGraph pieGraph pie graph

UIComponentクラス: oracle.adf.view.faces.bi.component.graph.UIGraph
コンポーネント・タイプ: oracle.dss.adf.graph.Graph (pieGraph)

概要

<dvt:pieGraph>タグは、ADFデータ視覚化円グラフを作成する場合に使用します。円グラフでは、データの各グループは円の区分で表されるため、グラフは切り分けられたパイのように見えます。円グラフには、数多くのタイプがあります。<dvt:pieGraph>タグでサポートされているサブタイプは、次のとおりです。

<dvt:pieGraph>タグでは、任意の円グラフの作成に必要な属性と子タグの完全なセットが提供されます。グラフ・タイプを指定するには、円グラフのsubType属性を使用します。最もよく使用される有用な子タグとして、<dvt:series>タグをあげることができます。たとえば、区分の色を変更するには、<dvt:series>タグのセットを<dvt:seriesSet>タグ内で使用します。

グラフのレイアウトには、5つの主要コンポーネント(タイトルサブタイトル脚注legendAreaおよびpieFrame)が入ります。pieFrameはデータを描画し、常にレンダリングされますが、他の4つのコンポーネントはオプションで、グラフ内の様々な場所に配置できます。グラフ全体に割り当てられた領域のスペースは、タイトルがあれば最初にタイトルに割り当てられます。タイトルサブタイトルは、デフォルトでグラフ最上部に並べて表示され、脚注はグラフ最下部に表示されます。次に、各系列に関連するマーカーの色とラベルが表示されるlegendAreaに領域が割り当てられます。このコンポーネントは、4つの場所(左右上下)のいずれかに配置できます。凡例にはグラフ領域のうち最大40%を使用できます。pieFrameとそのラベルが残りのスペースを占めます。

データ・モデル

データ・バインディング・ダイアログを使用して、通常は行セットに基づくデータ・コントロールに単純なグラフ・タグをバインドします(詳細は、データ・バインディングに関するドキュメントを参照)。グラフのデータを提供する一般的な方法としては、tabularData属性を使用してグリッドを作成する方法もあります。この方法では、バッキングBeanまたはマネージドBeanを使用する必要があります。

グラフを描画するには、数値データ・ポイントの単純グリッドが必要です。このグリッドの行ラベルと列ラベルは、グラフ内のコンポーネントを識別するために使用されます。デフォルトでは、行は系列として表示され、列はグループとして表示されます。円グラフまたはドーナツグラフには、1つのグループのデータが表示され、各区分が異なる系列を示します。このグラフ・タイプでは、区分ごとに、複数の行を持つグリッド内に1つの列が必要となります。複数円グラフまたは複数ドーナツグラフでは、データのグループまたは列ごとに1つの円が表示されます。グラフは、1つのデータ・ポイントのみで作成することもできますが、このようなグラフは意味をなさない場合があります。円-棒グラフまたはドーナツ-棒グラフの場合、各区分が系列合計を表します。このような1区分のデータの詳細は、パーセントの積上げ棒によって示されます。

系列

グラフでは、グリッドの行は通常は系列として表示されます。グラフの凡例では、グラフの各系列が色やその他の該当する属性を示すラベル付きの記号で識別されます。区分の色を変更するには、<dvt:series>タグのセットを<dvt:seriesSet>タグ内で使用します。<dvt:seriesSet>タグには、すべての系列のデフォルトの属性を変更する属性が含まれています。また、<dvt:seriesSet>タグには個別の系列の属性をオーバーライドする<dvt:series>タグも含まれています。通常使用される系列の属性は、color、pieSliceExplode(円グラフの残りの部分からの区分の分離)などです。

次の例は、<dvt:seriesSet>タグを使用してすべての区分のデフォルトの枠線の色が定義されている円グラフを示しています。pieSliceExplode属性が指定された<dvt:series>子タグにより、の残りの部分から最初の区分が分離されます。

                <dvt:pieGraph id="pieGraph1" subType="PIE">
                  <dvt:seriesSet defaultBorderColor="#336699"">
                    <dvt:series index="0" pieSliceExplode="50">
                  </dvt:seriesSet>
                </dvt:pieGraph>
        

SeriesEffect

円の区分に事前定義済のグラデーション効果を追加するには、グラフのseriesEffect属性を使用します。

系列の強調表示

カーソルが区分または系列固有の凡例コンポーネントの上に移動したときに強調表示動作を有効にするには、グラフのseriesRolloverBehavior属性を使用します。

タイトル

タイトルサブタイトルは、存在する場合はデフォルトでグラフ最上部に並べて表示されます。このデフォルト設定を変更するには、グラフのcustomLayout属性を使用します。脚注が存在する場合は、グラフ最下部に表示されます。

凡例

凡例には、各系列のマーカーおよび関連する色が表示されます。また、凡例タイトルも表示されます。凡例は、4つの異なる場所(上下左右)のいずれかに配置できます。凡例をグラフの端にアタッチするには、alongGraphEdge属性を使用します。凡例はrendered属性を使用して削除できます。

PieFrame

円グラフでは、pieFrame内にデータが描画されます。pieFrameでは、区分ラベル区分および円グラフのラベルが統合されます。複数円グラフまたは複数ドーナツグラフを表示する場合は、PieFrameが複数のセクションに分割されます。フレーム内のセクションの数は、データのグループの数と一致します。円-棒グラフまたはドーナツ-棒グラフの場合、円フレームには、縦のデータ軸(y1Axis)を持つ棒も表示されます。y1Axisは、y1TickLabelおよびy1Titleに関連付けられています。

グラフのサイズ

デフォルトのグラフ・サイズは高さ300ピクセル、幅400ピクセルです。これを変更するには、inlineStyle属性を使用します。たとえば、グラフ・サイズを高さ350ピクセル、幅500ピクセルに変更するには、inlineStyle="width:500px; height:350px;"に設定します。幅と高さはパーセントで指定することもできます。グラフを明示的にサイズ指定されたコンテナやレイアウトを管理するコンテナに追加する際にのみ、高さにパーセントを使用してください。それ以外の場合にパーセントを使用すると、ブラウザごとにグラフの動作が異なることになります。コンテナ・サイズに基づいてグラフをサイズ変更するには、dynamicResize属性を使用します。

アニメーション

アニメーションは複数のグラフ・タイプでサポートされています。初期レンダリング中には、animationOnDisplay属性を使用してグラフをアニメートします。animationOnDataChange属性を使用して、データ変更時にグラフをアニメートすることもできます。アニメーション期間を指定するには、animationDuration属性を使用します。データ値の増減を示す色は、それぞれanimationUpColor属性とanimationDownColor属性で指定します。

相互作用力

個々のグラフ・コンポーネントの相互作用力を指定するには、shapeAttributesタグを使用します。この機能を使用するには、バッキングBeanまたはマネージドBeanが必要です。

次の例は、clickListenerを使用してデータ値を表示する円グラフの区分を示しています。

                <dvt:pieGraph >
                 <dvt:shapeAttributesSet>
                  <dvt:shapeAttributes component="GRAPH_SLICE" clickable="true" clickListener="#{clickListener.processClick}"/>
                 </dvt:shapeAttributesSet>
                </dvt:barGraph>
        

バッキングBeanのprocessCilckメソッドは次のようになります。

        public void processClick(ClickEvent event) {   
                ComponentHandle handle = event.getComponentHandle();
                if (handle instanceof DataComponentHandle) {
                        DataComponentHandle dhandle = (DataComponentHandle)handle;
                        System.out.println("Data value: " + dhandle.getValue(DataComponentHandle.UNFORMATTED_VALUE).toString());
                }
        }
        

すべての<dvt:shapeAttributes>タグを1つの<dvt:shapeAttributesSet>タグでラップします。

ツールチップ

ツールチップは、データ・マーカーの識別情報や詳細情報を表示する際に役立ちます。また、スペースが足りないためにラベルを表示できない小さいグラフにも便利です。ツールチップのコンテンツをカスタマイズするには、markerTooltipType、seriesTooltipLabelTypeおよびgroupTooltipLabelTypeの各属性を使用します。タイトルサブタイトル脚注legendTextなどのテキストが切り捨てられている場合は、そのコンポーネントのツールチップがグラフに自動的に表示されます。この動作を変更するためのオプションはありません。

フォント

<dvt:graphFont>タグは、フォントの書式設定に使用します。テキストの色、スタイル、サイズおよびフォント名は、このタグを使用して指定できます。このタグは、グラフのすべてのテキスト・コンポーネント・タグの子タグとして使用されます。すべてのテキスト・コンポーネント・タグには、水平方向と垂直方向の位置合せ、テキスト文字列、およびテキストをレンダリングするかどうかなど、その他の書式設定属性があります。

SpecialEffects

多数のグラフ・サブコンポーネントのグラデーション効果を指定するには、<dvt:specialEffects>タグを使用します。このタグはコンポーネント・タグの子タグとして定義する必要があり、テキスト・コンポーネントには使用できません。seriesEffect属性を設定すると、特殊効果の設定が常にオーバーライドされることに注意してください。

他のタグとの関係

<dvt:pieGraph>タグの子として使用できるタグは次のとおりです。

<activeDataProperties><background><graphFootnote><graphPieFrame><graphSubtitle><graphTitle><legendArea><legendText><legendTitle><seriesSet ><shapeAttributesSet><slice><sliceLabel><pieFeeler><pieLabel>

イベント

フェーズ 説明
oracle.adf.view.faces.bi.event.ClickEvent リクエスト値の適用

コンポーネントでクリック・アクションが発生したことを示すイベント。ClickEventは、グラフにClickListenerを追加することで有効になります。

org.apache.myfaces.trinidad.event.AttributeChangeEvent アプリケーションの起動、
リクエスト値の適用
属性変更を記述するために配信されるイベント。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。

属性

名前 ELのサポート 説明
advancedPropertiesXML String あり

pieGraphタグで公開されていないグラフ・プロパティの設定を含むXMLファイルへのパスを指定します。
たとえば、/myfiles/graph.xmlにように指定します。
Webアプリケーションのルートからのパスを指定する必要があります。

animationDownColor String あり データ値が減少したことを示すために使用する色を指定します。値はRGB 16進数で入力します。
animationDuration int あり アニメーションの継続時間をミリ秒単位で指定します。
animationIndicators String あり

表示するデータ変更インジケータのタイプを指定します。有効な値は次のとおりです。

  • NONE: データ変更インジケータを表示しません。
  • ALL(デフォルト): データ変更インジケータをすべて表示します。
animationOnDataChange String あり

適用するデータ変更アニメーションのタイプを指定します。有効な値は次のとおりです。

  • NONE: データ変更アニメーション効果を適用しません。
  • AUTO(デフォルト): アクティブ・データ・サービス(ADS)のデータ変更アニメーション・イベントを適用します。
  • ON: 部分ページ・リフレッシュ(PPR)のデータ変更アニメーション・イベントを適用します。
animationOnDisplay String あり

適用する初期レンダリング効果のタイプを指定します。有効な値は次のとおりです。

  • NONE(デフォルト): 初期レンダリング効果を表示しません。
  • AUTO: グラフまたはゲージのタイプに基づいて、初期レンダリング効果を自動的に適用します。
animationUpColor String あり データ値が増加したことを示すために使用する色を指定します。値はRGB 16進数で入力します。
attributeChangeListener javax.el.MethodExpression ELのみ 属性変更リスナーへのメソッド・リファレンス。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。
binding String ELのみ

バッキングBeanからのUIGraphの特定のインスタンスを保存するためのバインディング参照を指定します。この属性は、バッキングBean内のコードにアクセスする場合のみ設定してください。たとえば、SampleGraphクラス内のグラフ・コンポーネントを参照するには、binding="#{sampleGraph.graph}"というコードを使用します。

clickAction String あり グラフのナビゲーション処理を実行するバッキングBeanメソッドを参照して結果文字列を戻します。または静的な結果文字列を指定できます。JSF NavigationHandlerは、アプリケーション構成リソース・ファイル内のナビゲーション・ルールに結果文字列を一致させることにより、次に表示するページを選択します。ナビゲーション・ルールはアプリケーションによって書き込まれます。
clickListener String あり
contentDelivery String あり コンテンツをページのロード時にフェッチするか、ページのロード後にフェッチするかを指定します。有効な値はlazy(デフォルト)またはimmediateです。
customLayout String あり

グラフによってそのコンポーネントの配置とサイズ設定が自動的に行われる場合のカスタム・レイアウト情報を指定します。有効な値は次のとおりです。

  • CL_NONE: その他のカスタム・レイアウト属性値を使用しません。
  • CL_TITLES_SIDEBYSIDE: タイトルの下にサブタイトルを表示するのではなく、タイトルとサブタイトルを横に並べて表示します。
  • CL_TITLE_SEPARATOR: タイトルの下にタイトル・セパレータを表示します。
customizationId String あり この属性は推奨されていません。永続的なカスタマイズを適用するには、id属性を使用する必要があります。この属性は、次のリリースでは削除されます。
drillingEnabled boolean あり ドリル操作を有効にするかどうかを指定します。
dynamicResize String あり コンテナのサイズに基づいてコンポーネントのサイズを変更するかどうかを指定します。有効な値はFIXED_SIZE(デフォルト)またはDYNAMIC_RESIZEです。
flashDefaultFontLoading String あり デフォルト・フォントを中間層からFLASHにロードするかどうかを指定します。有効な値はFLASH_DEFAULT_FONT_LOADING_ALLまたはFLASH_DEFAULT_FONT_LOADING_NONEです。デフォルト値はFLASH_DEFAULT_FONT_LOADING_ALLです。
id String なし コンポーネントの識別子。識別子は、HTMLで許可される構文のサブセットに準拠している必要があります。
  • 長さゼロの文字列は指定しないでください。
  • 最初の文字は、ASCII文字(A-Za-z)またはアンダースコア(_)にする必要があります。
  • 後続の文字は、ASCII文字または数字(A-Za-z0-9)、アンダースコア(_)またはダッシュ(-)にする必要があります。
imageFormat String あり

グラフ・イメージの形式。有効な値は次のとおりです。

  • PNG: PNGイメージ形式。
  • FLASH: (デフォルト)FLASHイメージ形式。
  • PNG_STAMPED: JavaScriptを含まないPNGイメージ。スタンプ操作を介してADF表のセルでグラフを使用するときに使用する必要があります。
  • AUTO: サポートされているFlash Playerがクライアント上で見つかった場合にFlashを生成します。
imageHeight int あり グラフ・イメージの高さをピクセル単位で指定します。
imageWidth int あり グラフ・イメージの幅をピクセル単位で指定します。
inlineStyle String あり コンポーネントの外側の要素(そのコンポーネントを囲んでいるdiv)のスタイル
partialSubmit boolean あり

ページの部分送信を通じてアクションを実行することを許可するかどうかを指定します。有効な値は次のとおりです。

  • true: (デフォルト)ページの部分送信を許可します。
  • false: ページの部分送信を許可しません。
partialTriggers String あり 部分更新をトリガーする必要があるコンポーネントのID。このコンポーネントはトリガー・コンポーネントをリスニングします。なんらかの方法で更新を発生させるイベントがいずれかのトリガー・コンポーネントで受信されると、このコンポーネントも更新を要求します。
rendered boolean あり コンポーネントをレンダリングするかどうかを指定します。
seriesEffect String あり

グラフに使用する系列効果を指定します。有効な値は次のとおりです。

  • SE_NONE: グラフに系列効果を使用しません。この値を設定すると、マーカーはグラデーションなしで表示され、graphicAntialiasing属性はfalseに設定されます。
  • SE_GRADIENT: 洗練された外観にするために特別なグラデーションをデータ・マーカーに設定し、graphicAntialiasing属性をtrueに設定します。
  • SE_AUTO_GRADIENT: (デフォルト)データセットが大きい場合を除いて、SE_GRADIENTと同様に動作します。グラフに大きなデータセットが表示されている場合は、データ・マーカーにグラデーションが表示されないため、パフォーマンスが向上します。
seriesRolloverBehavior String あり

系列内の1つの棒をマウス・ポインタがロールオーバーしたときの動作を指定します。有効な値は次のとおりです。

  • RB_NONE: (デフォルト)系列のロールオーバー動作は有効になりません。
  • RB_HIGHLIGHT: ロールオーバーの発生時に、系列内のすべての棒を強調表示します。
  • RB_DIM: ロールオーバーの発生時に、系列内のすべての棒をグレー表示します。
  • RB_HIGHLIGHT | RB_DIM: ロールオーバーの発生時に、系列内のすべての棒をグレー表示と強調表示の両方で表示します。
shortDesc String あり グラフの短い説明を指定します。スクリーン・リーダー・モードで特に役立ちます。
style String あり

指定されたXMLファイルに基づいてグラフにスタイルを適用します。有効な値は、標準グラフ・スタイルの名前、またはこのグラフのスタイルとして設定するカスタムXMLファイルへのパスです。

事前定義済のグラフ・スタイルは次のとおりです。

  • 4月
  • オータム
  • モノクロ
  • 彗星
  • 紙吹雪
  • デフォルト
  • アース
  • エグゼキュティブ
  • 会計
  • ガラス
  • 航海
  • 予測
  • レガッタ
  • 南西部
  • 透明

カスタム・スタイルを指定するには、該当するxmlファイルへのパス全体を入力します。たとえば/text/myStyle.xmlのように指定します。

styleClass String あり このコンポーネントに対して使用するCSSスタイル・クラスを設定します。幅および高さはinlineStyleプロパティを使用して設定する必要があることに注意してください。
subType String あり

グラフのタイプを指定します。有効な値は次のとおりです。

  • PIE: 円グラフ
  • PIE_BAR: 円-棒グラフ
  • PIE_MULTI: 複数円グラフ
  • RING: ドーナツグラフ
  • RING_BAR: ドーナツ-棒グラフ
  • RING_MULTI: 複数ドーナツグラフ
tabularData java.util.List あり

グラフのグリッドを自動的に作成してデータを移入するために使用するデータのリストを指定します。このリストは、グラフに渡すデータ値ごとに、3つのメンバーからなるオブジェクト配列で構成されます。それぞれの配列のメンバーは、次のように編成されている必要があります。

  • 1番目のメンバー(索引0)は、グリッドにおけるデータ値の列ラベルに相当します。通常はString型で指定します。グラフに時間軸がある場合は、JavaのDate型で指定する必要があります。通常、列ラベルは、グラフ内のグループを示します。
  • 2番目のメンバー(索引1)は、グリッドにおけるデータ値の行ラベルに相当します。通常はString型で指定します。行ラベルはグラフの系列ラベルとして(通常は凡例内に)表示されます。
  • 3番目のメンバー(索引2)はデータ値であり、通常はDouble型で指定します。
threeDEffect boolean あり

グラフで奥行きを表示するかどうかを指定します。有効な値はtrueとfalseです。デフォルト値はfalseです。

title String あり タイトルのテキストを指定します。
value String あり グラフのデータ・モデルを指定します。これは、oracle.adf.view.faces.bi.model.DataModelまたはoracle.adf.view.faces.bi.model.GraphDataModelのインスタンスである必要があります。
visualEffects String あり

適用するvisualEffectのタイプを1つまたは複数指定します。有効な値は次のとおりです。

  • NONE: ビジュアル効果を適用しません。
  • AUTO(デフォルト): グラフまたはゲージのタイプに基づいて、ビジュアル効果を自動的に適用します。