BI Publisher(およびOracle Reports等)では、いわゆるX軸は O軸(Ordinal axis: O1Axis)と表します。
X1Axisはバブルチャート、散布図および鶏頭図を設定する際に使用します。
O1Axisに定義されている項目は多くありません。
- lineWidth
- lineColor
- visible (true | false)
また、O軸のラベルの設定に関する定義として、O1TickLabelが用意されています。以下の項目が定義されています。
- tickLabelSkipMode (TLS_NOSKIP | TLS_AUTOMATIC | TLS_MANUAL)
- tickLabelSkipCount
- tickLabelSkipFirst
- textFittingAutomatic (true|false)
- fontSizeAbsolute (true | false)
- horizontalAlignment (LEFT | CENTER | RIGHT)
- textRotation (TR_HORIZ | TR_HORIZ_ROTATE_90 | TR_HORIZ_ROTATE_270)
- tickLabelStaggered (true|false)
- tickLabelWrapped (true|false)
- wordWrapEnabled (true|false)
- automaticRotation (AR_NO_ROTATE | AR_HORIZ_ROTATE_90 | AR_HORIZ_ROTATE_270)
主な項目について、以下にサンプルで説明します。
【ラベルの互い違い表示の制御】
標準構成の自動レイアウトでは、O軸(X軸)のラベルが以下のように互い違いに表示されることがあります。
この表示を明示的に停止するには tickLabelStaggered を false に設定します。また、tickLabel の設定はチャート全体の autoLayout 属性の影響下にあるため、併せて Graph の autoLayout を"AL_NEVER"に設定します。設定例は以下の通りです。
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelStaggered="false" />
【O軸(X軸)のラベルの間隔】
前述の設定だけでは、ラベルが重なって表示されます。ラベルの間隔は以下のように調整できます。tickLabelSkipFirst で表示の開始位置を指定し、tickLabelSkipCount でラベルを表示する要素の間隔を指定します。
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelSkipMode="TLS_MANUAL" tickLabelSkipCount="2" tickLabelSkipFirst="0" />
【O軸(X軸)のラベルの向き】
ラベルの向きを縦向きに変える例は以下の通りです。なお、斜め45度などは定義されていません。
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelStaggered="false" textRotation="TR_HORIZ_ROTATE_270" />
[ Summary ]
* In chart XML, X axis is written as "O Axis (Ordinary Axis)".
AutoLayout often put O axis labels staggered. To prevent it, set tickLabelStaggered "false". By default, tickLabelStaggered is suppressed by autoLayout attribute of Graph. You need to set these attributes as follow:
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelStaggered="false" />
To configure label step, set tickLabelSkipCount and tickLabelSkipFirst.
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelSkipMode="TLS_MANUAL" tickLabelSkipCount="2" tickLabelSkipFirst="0" />
To rotate O axis labels, set textRotation "TR_HORIZ_ROTATE_90" or "TR_HORIZ_ROTATE_270".
<Graph seriesEffect="SE_AUTO_GRADIENT" autoLayout="AL_NEVER">
<O1TickLabel tickLabelStaggered="false" textRotation="TR_HORIZ_ROTATE_270" />
O axis supports ViewFormat, same as Y axis. Refer Format chart Y axis labels for more detail.
0 件のコメント:
コメントを投稿