<dvt:barGraph>

dvt:barGraph barGraph bar graph

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

概要

<dvt:barGraph>タグは、ADFデータ視覚化棒グラフを作成する場合に使用します。棒グラフは、複数の棒でデータを表すグラフです。棒グラフには、数多くのタイプがあります。<dvt:barGraph>タグでサポートされているサブタイプは、次のとおりです。

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

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

データ・モデル

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

グラフを描画するには、数値データ・ポイントの単純グリッドが必要です。このグリッドの行ラベルと列ラベルは、グラフ内のコンポーネントを識別するために使用されます。デフォルトでは、行は系列として表示され、列はグループとして表示されます。棒グラフは1つのデータ・ポイントのみを使用して描画できますが、このようなグラフは意味をなさない場合があります。積上げ棒グラフの場合、各データ系列の値が前のデータ系列に追加されるため、積上げサイズはすべての系列の累積合計を表します。パーセント棒グラフは、すべての系列の累積合計に対する特定の系列の相対割合を表示する積上げグラフです。このグラフには、負の値を使用できません。

系列

棒グラフでは、グリッドの行は通常は系列として表示されます。グラフの凡例では、グラフの各系列が色や他の該当する属性を示すラベル付きの記号で識別されます。棒の色を変更するには、<dvt:series>タグのセットを<dvt:seriesSet>タグ内で使用します。<dvt:seriesSet>タグには、すべての系列のデフォルト属性を変更する属性が含まれています。また、<dvt:seriesSet>タグには個々の系列の属性をオーバーライドする<dvt:series>タグも含まれています。一般に使用される系列属性は、color、assignedToY2(二重Yグラフの軸割当ての変更)、markerShapeなどです。

次の例は、<dvt:seriesSet>タグを使用してすべての系列のデフォルト色が定義されている棒グラフを示しています。子タグ<dvt:series>により、グラフの最初の系列におけるこの色がオーバーライドされます。

                <dvt:barGraph id="barGraph1" subType="BAR_VERT_CLUST">
                  <dvt:seriesSet defaultColor="#336699">
                    <dvt:series index="0" color="#99ccff"/>
                  </dvt:seriesSet>
                </dvt:barGraph>
        

SeriesEffect

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

系列の強調表示

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

MarkerText

markerTextタグでは、マーカー・テキストを表示するかどうか、および棒を基準にしたその表示位置を定義します。テキストの位置を指定するには、markerTextPlace属性を使用します。

タイトル

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

凡例

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

PlotAreaと軸

棒グラフでは、plotArea内にデータが描画されます。plotAreaでは、軸とデータ・マーカーが統合されます。通常、縦棒グラフでは、横軸は都市や製品などのカテゴリを示す順序軸/カテゴリ軸(o1Axis)です。棒グラフに日付(java.util.Dateのインスタンス)が表示されている場合、この軸は時間軸である可能性があります。主な縦軸は、データ軸(y1Axis)です。二重Yグラフには、通常、y2Axisも表示されます。順序軸とデータ軸のいずれの場合も、各軸には関連付けられたティック・ラベルおよび軸タイトルがあります。たとえば、y1Axisにはy1TickLabelおよびy1Titleが関連付けられています。詳細は、関連するコンポーネント・タグを参照してください。

時間軸

棒グラフには、列ラベルに対して日付(オブジェクト・タイプjava.util.Date)が指定されている場合、時間軸が表示されます。時間軸をカスタマイズするには、複数のtimeXXX属性をgraphタグに定義します。子タグtimeAxisDateFormatでは、時間軸ラベルが表示される形式を制御します。

時間セレクタ

グラフのTimeSelector機能をアクティブにするには、<dvt:timeSelector>タグを使用します。これにより、エンド・ユーザーは時間軸上で時間範囲を選択できます。これは通常、マスター・グラフで選択した時間範囲によりディテール・グラフ、表または他のコンポーネントのコンテンツが導出されるマスター/ディテール・グラフで使用されます。この機能を使用するには、バッキングBeanまたはマネージドBeanが必要です。

グラフのサイズ

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

アニメーション

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

アラート

エラーや警告など、個別の記号で強調表示する必要のあるその他のデータ・ポイントをグラフで定義するには、<dvt:alert>タグを使用します。すべての<dvt:alert>タグを1つの<dvt:alertSet>タグでラップします。

注釈

特定のデータ・ポイントに関する注釈を提供するには、<dvt:annotation>タグを使用します。1つのデータ・ポイントに対して複数の注釈を定義できます。すべての<dvt:annotation>タグを1つの<dvt:annotatinSet>タグでラップします。

ReferenceObject

参照線または参照領域を作成するには、<dvt:referenceObject>タグを使用します。参照オブジェクトは、どのデータ軸や系列にも関連付けることができます。複数の参照オブジェクトを1つの系列または軸に関連付けることができます。referenceObjectをデータ・マーカーの手前に表示するか奥に表示するかを指定するには、location属性を使用します。referenceObjectを表示する時期を指定するには、グラフのreferenceObjectDisplay属性を使用します。値RO_AUTOMATICを指定すると、referenceObjectが定義されているコンポーネントの上にマウスを移動したときにのみ表示されます。すべての<dvt:referenceObject>タグを1つの<dvt:referenceObjectSet>タグでラップします。

相互作用力

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

次の例は、clickListenerを使用してデータ値を表示する棒グラフの2Dマーカーを示しています。

                <dvt:barGraph >
                 <dvt:shapeAttributesSet>
                  <dvt:shapeAttributes component="GRAPH_TWODMARKER" 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>タグでラップします。

ツールチップ

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

ズームとスクロール

大きすぎたり複雑すぎてグラフに割り当てられたエリアにうまく収まらないデータ・セットをエンド・ユーザーがズーム・インしてスクロールできるようにするには、zoomDirection属性を使用します。ズームとスクロールは、横軸または縦軸(あるいはその両方)に対して有効にできます。scrollbarPresenceGroups属性は、グループ軸にスクロール・バーが表示される時期を制御します(棒グラフの横軸など)。scrollbarPresenceX1、scrollbarPresenceY1およびscrollbarPresenceY2属性は、各種データ軸のスクロール・バーの表示を制御します。

フォント

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

SpecialEffects

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

他のタグとの関係

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

<activeDataProperties><alertSet><annotationSet><background><graphFootnote><graphPlotArea><graphSubtitle><graphTitle><legendArea><legendText><legendTitle><markerText><o1Axis><o1MajorTick><o1TickLabel><o1Title><referenceObjectSet><seriesSet ><shapeAttributesSet><timeAxisDateFormat><timeSelector><y1Axis><y1BaseLine><y1MajorTick><y1Title><y1TickLabel><y2Axis><y2BaseLine><y2MajorTick><y2TickLabel><y2Title>

イベント

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

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

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

属性

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

barGraphタグで公開されていないグラフ・プロパティの設定を含む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)のスタイル
o1AxisTitle String あり 横軸のタイトルのテキストを指定する場合に使用します。
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 あり

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

  • BAR_VERT_CLUST: 垂直クラスタ化棒グラフ
  • BAR_VERT_CLUST_SPLIT2Y: 垂直クラスタ化分割二重-Y棒グラフ
  • BAR_VERT_CLUST2Y: 垂直クラスタ化二重-Y棒グラフ
  • BAR_VERT_FLOAT_STACK: 垂直フローティング積上げ棒グラフ
  • BAR_VERT_PERCENT: 垂直パーセント棒グラフ
  • BAR_VERT_STACK: 垂直積上げ棒グラフ
  • BAR_VERT_STACK_SPLIT2Y: 垂直積上げ分割二重-Y棒グラフ
  • BAR_VERT_STACK2Y: 垂直積上げ二重Y棒グラフ
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(デフォルト): グラフまたはゲージのタイプに基づいて、ビジュアル効果を自動的に適用します。
y1AxisTitle String あり 縦軸のタイトルのテキストを指定する場合に使用します。