2011/03/23

チャート: Y軸の設定 (Chart Y axis)

BI Publisherのチャートにはさまざまなプロパティが定義されていますが、これらに関する情報はあまり多くはありません。また、RTFテンプレートを作成する際には、GUIで設定できるプロパティは非常に限られます(これはBI Publisher 11g においてもほとんど改善されていません)。
これから数回にわたり、チャートの設定についてまとめます。
設定項目については、US-OTNに投稿されているGraph.dtdの内容を参考にします。
参考URL:
http://forums.oracle.com/forums/thread.jspa?threadID=2172523&tstart=90


今回は、Y軸設定についてまとめます。Y軸(Y1Axis)には以下の属性が定義されています。
  • lineWidth
  • lineColor
  • axisMinAutoScaled (true | false)
  • axisMinValue
  • axisMaxAutoScaled (true | false)
  • axisMaxValue
  • axisMaxLabelVisible (true | false)
  • axisMinLabelVisible (true | false)
  • majorTickStepAutomatic (true | false)
  • majorTickStep
  • minAutoMajorTickStep
  • scaledLogarithmic (true | false)
  • logarithmicBase
  • axisAutoScaledFromZero (true | false)
  • ascending (true | false)
  • axisLocation (AL_LEFT | AL_RIGHT | AL_BOTH)
  • visible (true | false)

主な項目について、以下にサンプルで説明します。


【Y軸ラベルの間隔】
以下の例ではY軸の基点をゼロとせず、また、間隔を500に設定します。なお、BI PublisherがmajorTickStepに設定する値が小さすぎると判断した場合、設定が無視されるようです。また、ゼロまたはマイナス値を指定した場合も無視されます。
<Y1Axis axisAutoScaledFromZero="false" majorTickStepAutomatic="false" majorTickStep="500"/>





【Y軸の色、ラベル間隔の自動設定】
以下の例ではY軸の色を白に設定し、ラベルの間隔の自動計算最小値を2500に設定します。
<Y1Axis lineColor="#ffffff" minAutoMajorTickStep="2500" />







【最小値・最大値】
以下の例ではY軸の最大値を、SAL列の値から動的に設定し、2000単位で最大値を切り上げて設定します。

(フィールドにて設定 / set on field)
<xsl:variable name="valTemp"><?xdoxslt:maximum(SAL) div 2000?></xsl:variable>
<xsl:variable name="valMaxY"><xsl:value-of select="(floor($valTemp)+1)*2000" /></xsl:variable>


(チャートにて設定 / set on chart)
<Y1Axis axisMaxAutoScaled="false" axisMaxValue="{$valMaxY}" />





次回は2軸のY座標についてまとめます。


[ Summary ]
BI Publisher provides many chart properties.  Previously, the properties (attributes) were listed in Graph.dtd.  It is posted in OTN.  Its version is old though, I use it so far.



The Y axis properties are listed below.
  • lineWidth
  • lineColor
  • axisMinAutoScaled (true | false)
  • axisMinValue CDATA #IMPLIED
  • axisMaxAutoScaled (true | false)
  • axisMaxValue
  • axisMaxLabelVisible (true | false)
  • axisMinLabelVisible (true | false)
  • majorTickStepAutomatic (true | false)
  • majorTickStep
  • minAutoMajorTickStep
  • scaledLogarithmic (true | false)
  • logarithmicBase
  • axisAutoScaledFromZero (true | false)
  • ascending (true | false)
  • axisLocation (AL_LEFT | AL_RIGHT | AL_BOTH)
  • visible (true | false)

You can set runtime variables for these properties.  See the third example.  The variable valMaxY defined in a field is set for axisMaxValue.

0 件のコメント:

コメントを投稿