LayeredChart (クラス)
public LayeredChart {inherits Chart}
パッケージ: CURL.GUI.CHARTS

1 つ以上の ChartAxis オブジェクトによってプロット エリアが定義され、ChartLayer オブジェクトと重ねることによってプロットが処理される Chart

説明

LayeredChart は、最も一般的なタイプのグラフの一部を実装します。一般的に言えば、Cartesian 座標 (つまり X と Y) を使用してグラフを 2 次元でプロットする場合、LayeredChart 内でプロットする必要があります。(非 Cartesian プロットには円グラフ、極グラフ、レーダー グラフなどのグラフが含まれます。例については、PieChart を参照してください。) LayeredChart は、その名前をプロット エリア内でいくつでもプロットが共存できるという事実から導き出します。これらのプロットは、ChartLayer オブジェクトで表されます。次の ChartLayer が実装されています。




ただし、LayeredChart システムは、これらに限定されていません。これは、独自のオブジェクトの実装、または既存オブジェクトの拡張のプロセスを容易にするように設計されています。多くの場合、既存動作の増分変更が可能です。たとえば、前述の ChartLayer 実装のすべてに shape-factory プロパティがあります。このプロシージャは、プロットを表す実際の Shape オブジェクトを生成するために呼び出されます。独自のプロシージャを提供して、Shape 生成プロセスを変更またはその全体をオーバーライドできます。
LayeredChart は、ChartAxis との関係によっても定義されます。LayeredChart には軸オブジェクトの LayeredChart.left-axisLayeredChart.right-axisLayeredChart.top-axis、および LayeredChart.bottom-axis 用に 4 つのスロットがあります。軸オブジェクトは、データから物理的な位置 (および、必要な場合はその逆) へのマッピングを定義します。少なくとも 1 つの X 軸がなければ、グラフ作成は不可能です。(LayeredChart.flipped? を使用して、垂直軸を X 軸として指定できることに注意してください。)
通常、これらの軸オブジェクトは、レイアウト処理の過程で自動的に作成されます。この自動生成は、ChartLayer.maybe-create-x-axis および ChartLayer.maybe-create-y-axis-for-series を通じて実行され、ChartLayer 内で使用可能な ChartDataSeries に基づいています。LayeredChart.group-y-axis-data? および LayeredChart.group-y-axis-data-across-layers? は、Y 軸作成用にデータが一緒にグループ化される方法に影響します。
自動生成によってグラフ内にあるデータの処理が試みられます。ただし、多くの場合、独自の軸を指定してこのロジックをオーバーライドすることは便利であり、場合によっては必要になることがあります。これは、作成時に直接実行することも、LayeredChart.set-left-axis を使用するなどして実行することもできます。たとえば、データと関連していない Y 軸を作成するために、これを行うことができます (NumericAxis-of を参照)。指定方向の一方の軸または両方の軸を提供すると、その軸が有効である間は、いずれの軸も自動的には生成されません。たとえば、非 null 引数を LayeredChart.set-top-axis に渡すと、下軸は自動的には作成されません。必要な場合、ChartLayer.set-top-axis に null を渡すことにより、提供した独自の軸を後で削除することが可能です。
独自の軸を作成するもう 1 つの方法は、LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を設定することです。これらのファクトリーは自動生成メカニズムの一部とみなされ、その作成された軸は保存されないことに注意してください。次に軸が作成される際には、ファクトリーがもう一度呼び出されます。
Chart によって使用される ChartLayoutChanged イベントに加えて、軸が変更されると、必ず LayeredChartChartAxesChanged イベントを起動します。
グラフ オブジェクトに対する多くのカスタマイズでは、非ローカル形式のオプションが使用されます。たとえば、tick-label-factory は、ChartAxis のインスタンスに影響します。多くの場合、ChartAxis などのオブジェクトの一時的性質のために、変更したいオブジェクトの親にこれらのオプションを設定すると役立ちます。たとえば、軸オブジェクトそのものに tick-label-factory を設定すると、その設定が有効なのは、軸オブジェクトが次に再作成されるまでです。
LayeredChart は、この問題を解決するパーシスタント オブジェクトの階層を定義します。詳細な図については、LayeredChart.axis-group を参照してください。たとえば、major-tick-factoryLayeredChart.v-axis-group に 設定して、一度に左軸と右軸の両方に目盛りが生成される方法を変更するか、または、LayeredChart.left-axis-parent だけに設定して左軸だけを変更できます。
LayeredPlotArea オブジェクトは、LayeredChart.plot-area として使用可能であり、LayeredChart のプロット エリアを表します。これは、背景を指定したり、グリッド線の作成を変更したり、また、プロット エリアの位置と寸法を記述したりするために使用できます。すべての ChartLayerShape コンテナとしても機能し、プロット エリアへのそのレンダリングを制約します。

注意事項

このオブジェクトは、"LayeredChart"のスタイル ルールを記述することでスタイル化することが出来ます。

この例では、ScatterLayerLineLayer、および BarLayer のレイヤ化を示しています。DataSeriesColorPair を使用して、一部のレイヤのデータの色が変えられていることに注意してください。そうしないと、整合性のために常に同じ色が使用されるからです。legend-enabled? を使用して、LineLayer の凡例項目の作成を禁止していることにも注意してください。そうしないと、凡例には「Age」に 2 つの項目が含まれ、そのそれぞれに 1 つの色が使用されます。

{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{RecordGrid height = 6cm, record-source = sample-records}

{let chart:LayeredChart =
    {LayeredChart
        width = 15cm,
        height = 6cm,
        {BarLayer
            {ChartDataSeries sample-records, "Age"},
            x-axis-data = {ChartDataSeries sample-records, "Name"},
            {DataSeriesColorPair
                {ChartDataSeries sample-records, "Age"},
                FillPattern.silver
            }
        },
        {LineLayer
            {ChartDataSeries sample-records, "Age"},
            legend-enabled? = false
        },
        {ScatterLayer
            {ChartDataSeries sample-records, "Age"},
            {DataSeriesColorPair
                {ChartDataSeries sample-records, "Age"},
                FillPattern.silver
            }
        }
    }
}

{Canvas
    width = chart.width,
    height = chart.height,
    chart
}

コンストラクタ
default:新しい LayeredChart オブジェクトを作成します。
コンストラクタ public {LayeredChart.default
left-axis:#ChartAxis = null,
right-axis:#ChartAxis = null,
top-axis:#ChartAxis = null,
bottom-axis:#ChartAxis = null,
plot-area:LayeredPlotArea = {LayeredPlotArea},
axis-group:Shape = {ShapeGroup},
h-axis-group:Shape = {ShapeGroup},
v-axis-group:Shape = {ShapeGroup},
left-axis-parent:Shape = {ShapeGroup},
right-axis-parent:Shape = {ShapeGroup},
top-axis-parent:Shape = {ShapeGroup},
bottom-axis-parent:Shape = {ShapeGroup},
flipped?:bool = false,
group-y-axis-data?:bool = true,
group-y-axis-data-across-layers?:bool = false,
width:Distance = -1m,
height:Distance = -1m,
legend-location:LegendLocation = LegendLocation.right,
legend-alignment:double = 0.2,
color-palette:{Array-of FillPattern} = default-chart-color-palette,
...
}

プロパティ
axis-associations:個々の ChartDataSeries とこのグラフの軸の関連付けを制御するために使用される ChartAxisAssociation オブジェクトの配列。
フィールド public constant LayeredChart.axis-associations:{Array-of ChartAxisAssociation} ={new {Array-of ChartAxisAssociation}}
axis-group:すべての ChartAxis オブジェクトのトップレベルの親 Shape
フィールド public constant LayeredChart.axis-group:Shape
bottom-axis:この LayeredChart の下にある ChartAxis
フィールド public-get private-set LayeredChart.bottom-axis:#ChartAxis
bottom-axis-parent:下の軸 (LayeredChart.bottom-axis) の親 Shape (ある場合)。
フィールド public constant LayeredChart.bottom-axis-parent:Shape
flipped?:グラフを反転させて、X 方向と Y 方向が逆になるようにします。
アクセサ public final LayeredChart.flipped?:bool
セッター public final LayeredChart.flipped?:bool
group-y-axis-data-across-layers?:Y 軸の作成時に異なる ChartLayerChartDataSeries を一緒にグループ化するかどうかを決定します。
アクセサ public final LayeredChart.group-y-axis-data-across-layers?:bool
セッター public final LayeredChart.group-y-axis-data-across-layers?:bool
group-y-axis-data?:Y 軸の作成時に異なる ChartDataSeries を一緒にグループ化するかどうかを決定します。
アクセサ public final LayeredChart.group-y-axis-data?:bool
セッター public final LayeredChart.group-y-axis-data?:bool
h-axis-group:すべての水平方向 ChartAxis オブジェクトの親 Shape
フィールド public constant LayeredChart.h-axis-group:Shape
layers:この LayeredChart を構成する ChartLayer の配列。
フィールド public constant LayeredChart.layers:{Array-of ChartLayer} ={new {Array-of ChartLayer}}
left-axis:この LayeredChart の左側にある ChartAxis
フィールド public-get private-set LayeredChart.left-axis:#ChartAxis
left-axis-parent:左の軸 (LayeredChart.left-axis) の親 Shape (ある場合)。
フィールド public constant LayeredChart.left-axis-parent:Shape
legend-enabled?:Chart の凡例作成を有効または無効にするために使用できる bool
非ローカル オプション public LayeredChart.legend-enabled?:bool
plot-area:この LayeredChart のプロット エリアと関連付けられた LayeredPlotArea オブジェクト。
フィールド public constant LayeredChart.plot-area:LayeredPlotArea
right-axis:この LayeredChart の右側にある ChartAxis
フィールド public-get private-set LayeredChart.right-axis:#ChartAxis
right-axis-parent:右の軸 (LayeredChart.right-axis) の親 Shape (ある場合)。
フィールド public constant LayeredChart.right-axis-parent:Shape
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public LayeredChart.style-element:String
top-axis:この LayeredChart の上にある ChartAxis
フィールド public-get private-set LayeredChart.top-axis:#ChartAxis
top-axis-parent:上の軸 (LayeredChart.top-axis) の親 Shape (ある場合)。
フィールド public constant LayeredChart.top-axis-parent:Shape
v-axis-group:すべての垂直方向 ChartAxis オブジェクトの親 Shape
フィールド public constant LayeredChart.v-axis-group:Shape
x-axis-factory:X 軸の ChartAxis オブジェクトを必要に応じて作成するために使用されるファクトリ プロシージャ。
ローカル オプション public LayeredChart.x-axis-factory:#LayeredChart.AxisFactory =null
y-axis-factory:Y 軸の ChartAxis オブジェクトを必要に応じて作成するために使用されるファクトリ プロシージャ。
ローカル オプション public LayeredChart.y-axis-factory:#LayeredChart.AxisFactory =null
プロパティ 継承 Chart: bottom-margin, color-palette, default-height, default-width, display-context, font-family, font-size, font-style, font-weight, height, layout-scheduled?, left-margin, legend-alignment, legend-entry-factory, legend-factory, legend-location, legend-shape, plot-area-bounds, right-margin, text-line-through?, text-underline?, top-margin, width
プロパティ 継承 Shape: as-Shape, border-color, color, draw-operation, graphical-parent, option-parent, possibly-displayed?, selection-context, shape-parent, shape-selectable, stroke-thickness, transformation, visible?
プロパティ 継承 ShapeContainerBase: as-ShapeRoot, shape-children
プロパティ 継承 Visual: _style-element, clonable-class?, completely-clonable-children?, cursor, data-source, dragee, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data, visual-parent
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-register-proc, options-present-here, registered-option-keys

クラス変数と定数
AxisFactory:ChartAxis オブジェクトの生成に使用されるファクトリー プロシージャの Type。これは、オプション LayeredChart.x-axis-factory および LayeredChart.y-axis-factory の型です。
public constant LayeredChart.AxisFactory:ProcType ={proc-type {chart:LayeredChart}:(primary:#ChartAxis, secondary:#ChartAxis) }

メソッド
append-axis-association:この LayeredChartChartAxisAssociation を追加します。
public {LayeredChart.append-axis-association}:void
append-chart-layer:この LayeredChartChartLayer を追加します。
public {LayeredChart.append-chart-layer layer:ChartLayer}:void
compute-data-min-max:data に関連した最小値と最大値を決定します。
public {LayeredChart.compute-data-min-max}:(min:any, max:any)
ensure-axes-valid:必要なすべての軸生成が実行されていることを確認してください。
public {LayeredChart.ensure-axes-valid}:void
estimate-margins:この Chart の必要余白を概算します。
protected {LayeredChart.estimate-margins
need-left?:bool,
need-right?:bool,
need-top?:bool,
need-bottom?:bool,
left:Distance,
right:Distance,
top:Distance,
bottom:Distance
}:(left:Distance, right:Distance, top:Distance, bottom:Distance)
get-best-match-x-axis:y-data との組み合わせに最も適した X 軸を決定します。
public {LayeredChart.get-best-match-x-axis}:(axis:#ChartAxis, source-field:#RecordField)
get-best-match-y-axis:y-data との組み合わせに最も適した Y 軸を決定します。
public {LayeredChart.get-best-match-y-axis}:#ChartAxis
get-layer-at-point:この LayeredChart 内の特定の位置に ChartLayer があれば、それを確認してください。
public {LayeredChart.get-layer-at-point}:#ChartLayer
get-layer-from-shape:Shape を行う ChartLayer があれば、それを確認してください。
public {LayeredChart.get-layer-from-shape shape:Shape}:#ChartLayer
get-legend-entries:この Chart の凡例に必要なすべての項目を作成します。
public {LayeredChart.get-legend-entries}:{Array-of Graphic}
get-x-axis:この LayeredChart の X 軸の 1 つを取得するための便利なメソッド。
public final {LayeredChart.get-x-axis first?:bool}:#ChartAxis
get-x-axis-length:X 軸の長さを取得します 。
public final {LayeredChart.get-x-axis-length}:Distance
get-y-axis:この LayeredChart の Y 軸の 1 つを取得するための便利なメソッド。
public final {LayeredChart.get-y-axis first?:bool}:#ChartAxis
get-y-axis-length:Y 軸の長さを取得します 。
public final {LayeredChart.get-y-axis-length}:Distance
group-series-on-y-axis?:軸の自動生成時に seriesarray 内のものと一緒にグループ化するかどうかを決定します。
protected {LayeredChart.group-series-on-y-axis?}:bool
invalidate-axes-and-layout:Chart がすぐにレイアウト操作を実行するように要求し、軸を作成する必要があることも示します。
public {LayeredChart.invalidate-axes-and-layout}:void
layout-chart:このチャートにおけるレイアウトの現在のプロセスを実行します。
public {LayeredChart.layout-chart}:void
non-keyword-init-arg: InitRestArgParser.process-rest-args で非キーワード引数が検出されると、呼び出されます。
public {LayeredChart.non-keyword-init-arg arg:any}:void
note-axis-associations-changed:この LayeredChartLayeredChart.axis-associations の内容が変更されたことを通知します。
public {LayeredChart.note-axis-associations-changed}:void
note-color-palette-changed:この ChartChart.color-palette の内容が変更されたことを通知します。
public {LayeredChart.note-color-palette-changed}:void
note-layers-order-changed:この LayeredChartLayeredChart.layers の順序が変更されたことを通知します。
public {LayeredChart.note-layers-order-changed}:void
note-legend-changed:凡例が変更されたことを、この LayeredChart に通知します。
public {LayeredChart.note-legend-changed}:void
note-min-max-computation-changed:LayeredChart.compute-data-min-max によって返される値に影響を与える要素において、変更があったことを全ての現在の ChartAxis に通知します。
public {LayeredChart.note-min-max-computation-changed}:void
remove-axis-association:この LayeredChartChartAxisAssociation を追加します。
public {LayeredChart.remove-axis-association}:void
remove-chart-layer:ChartLayer をこの LayeredChart から削除します。
public {LayeredChart.remove-chart-layer layer:ChartLayer}:void
set-bottom-axis:この LayeredChart に関連した下の ChartAxis を設定 (または設定解除) します。
public {LayeredChart.set-bottom-axis axis:#ChartAxis}:void
set-left-axis:この LayeredChart に関連した左の ChartAxis を設定 (または設定解除) します。
public {LayeredChart.set-left-axis axis:#ChartAxis}:void
set-right-axis:この LayeredChart に関連した右の ChartAxis を設定 (または設定解除) します。
public {LayeredChart.set-right-axis axis:#ChartAxis}:void
set-top-axis:この LayeredChart に関連した上の ChartAxis を設定 (または設定解除) します。
public {LayeredChart.set-top-axis axis:#ChartAxis}:void
update-layout:Chart.plot-area-bounds に基づいてレイアウト操作を実行します。
public {LayeredChart.update-layout}:void
メソッド 継承 Chart: constrain-own-layout-bounds, create-legend, draw, ensure-layout-valid, get-actual-bottom-margin, get-actual-left-margin, get-actual-right-margin, get-actual-top-margin, get-own-bounds, get-shape-layout-bounds, invalidate-layout, position-legend, request-draw, self-contains-point?, self-intersects-polygon?, set-chart-size, to-Graphic, transformation-changed
メソッド 継承 Shape: apply-rotation, apply-scale, apply-transformation, apply-translation, apply-translation-in-parent, constrain-shape-layout-bounds, contains-point?, detach, find-graphical-ancestor, fire-crossing-event, fire-in-child, get-display-context, get-down-orientation-in-shape-parent, get-graphical-root, get-gui-path, get-gui-path-to-child, get-local-device-pixel-size, get-origin-in-graphical-ancestor, get-origin-in-root, get-origin-in-shape-parent, get-origin-in-shape-root, get-own-bounds-in-shape-root, get-own-layout-bounds, get-right-orientation-in-shape-parent, get-shape-bounds, get-shape-bounds-in-shape-root, get-top-left-in-ancestor, get-transformation-to-shape-root, keyword-init-arg, option-change-notify, overdraw-for-selection, quantize-line-thickness, request-draw-self, reset-transformation, set-rotation, set-scale, set-transformation, set-translation-in-parent, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-point-from-shape-root, transform-point-to-shape-root, transform-to-display-coordinates, transform-to-graphical-root-coordinates, transform-vector-from-shape-root, transform-vector-to-shape-root, transformation-changing
メソッド 継承 ShapeContainerBase: add, clear, clone-children, draw-shape-child, draw-shape-children, get-all-children-at-point, get-child-at-point, get-leaf-at-point, get-shape-root, note-attached, note-detaching, notify-option-children, on-drag-enter, on-pointer-enter, on-pointer-envelope-event, register-options, remove, set-shape-index, set-shape-index-after, set-shape-index-before, shape-container-fire-inferior-crossing-event, shape-container-handle-crossing, shape-container-pick-child, shape-container-pointer-enter-occurred, shape-container-pointer-leave-occurred
メソッド 継承 Visual: add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, clone-appearance-helper, find-test-children, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-text, get-view, maybe-fire-attach-event, maybe-fire-detach-event, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-key-focus, scroll-to-include, test-record, test-run, xy-offset-to
メソッド 継承 GraphicOptions: any-to-Distance
メソッド 継承 GuiEventTarget: handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-inspection, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 OptionListInterface: add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-changed, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {LayeredChart.default
left-axis:#ChartAxis = null,
right-axis:#ChartAxis = null,
top-axis:#ChartAxis = null,
bottom-axis:#ChartAxis = null,
plot-area:LayeredPlotArea = {LayeredPlotArea},
axis-group:Shape = {ShapeGroup},
h-axis-group:Shape = {ShapeGroup},
v-axis-group:Shape = {ShapeGroup},
left-axis-parent:Shape = {ShapeGroup},
right-axis-parent:Shape = {ShapeGroup},
top-axis-parent:Shape = {ShapeGroup},
bottom-axis-parent:Shape = {ShapeGroup},
flipped?:bool = false,
group-y-axis-data?:bool = true,
group-y-axis-data-across-layers?:bool = false,
width:Distance = -1m,
height:Distance = -1m,
legend-location:LegendLocation = LegendLocation.right,
legend-alignment:double = 0.2,
color-palette:{Array-of FillPattern} = default-chart-color-palette,
...
}

新しい LayeredChart オブジェクトを作成します。

left-axis: LayeredChart.left-axis の初期値。
right-axis: LayeredChart.right-axis の初期値。
top-axis: LayeredChart.top-axis の初期値。
bottom-axis: LayeredChart.bottom-axis の初期値。
plot-area: このグラフのプロット エリアを表す LayeredPlotAreaLayeredChart.plot-area を参照してください。
axis-group: Shape 親。LayeredChart.axis-group を参照してください。
h-axis-group: Shape 親。LayeredChart.h-axis-group を参照してください。
v-axis-group: Shape 親。LayeredChart.v-axis-group を参照してください。
left-axis-parent: Shape 親。LayeredChart.left-axis-parent を参照してください。
right-axis-parent: Shape 親。LayeredChart.right-axis-parent を参照してください。
top-axis-parent: Shape 親。LayeredChart.top-axis-parent を参照してください。
bottom-axis-parent: Shape 親。LayeredChart.bottom-axis-parent を参照してください。
flipped?: true の場合、このグラフで X と Y の概念が逆になります。LayeredChart.flipped? を参照してください。
group-y-axis-data?: true の場合、Y 軸オブジェクトを作成するとき、グラフではデータ系列のグループ化が試みられます。LayeredChart.group-y-axis-data? を参照してください。
group-y-axis-data-across-layers?: false の場合、グラフではY 軸オブジェクトを作成するたびに、異なるレイヤからのデータ系列のグループ化が試みられません。LayeredChart.group-y-axis-data-across-layers? を参照してください。
width: グラフの初期幅。Chart.width を参照してください。
height: グラフの初期の高さ。Chart.height を参照してください。
legend-location: 凡例の初期位置。Chart.legend-location を参照してください。
legend-alignment: 凡例の初期配置。Chart.legend-alignment を参照してください。
color-palette: データ系列のプロット時に使用される FillPattern の配列。詳細については、Chart.color-palette を参照してください。
...:
残余引数は次のものにすることができます。

注意事項

width または height の値が提供されていない場合、LayeredChart は、組み込む側の ChartBox、または ShapeBox のサイズ にその寸法に沿って適合します。例については、Chart.set-chart-size および CURL.GUI.CHARTS を参照してください。

この例では、非常に簡単な棒グラフが作成されます。

{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{let chart:LayeredChart =
    {LayeredChart
        width = 15cm,
        height = 6cm,
        {BarLayer
            sample-records,
            "Wins",
            x-axis-data = {ChartDataSeries sample-records, "Name"}
        }
    }
}

{Canvas
    width = chart.width,
    height = chart.height,
    chart
}



プロパティ詳細
axis-associations (フィールド)
public constant LayeredChart.axis-associations:{Array-of ChartAxisAssociation} ={new {Array-of ChartAxisAssociation}}

個々の ChartDataSeries とこのグラフの軸の関連付けを制御するために使用される ChartAxisAssociation オブジェクトの配列。

説明

この配列は自由に直接操作できます。ただし、これを行う場合、LayeredChart に軸の再計算を指示するために、LayeredChart.note-axis-associations-changed を呼び出す必要があります。
初期 ChartAxisAssociation のセットを LayeredChart.default コンストラクタに提供できます。

注意事項

軸とデータの関連付けプロセスの詳細については、LayeredChart を参照してください。

この例には、スケールの大きく異なる 2 つのデータ系列が含まれています。この例では、直接のデータ関連のない左軸と右軸が使用されているので、両方のデータ系列は通常、正しい型の最初のデータに関連付けられます。この場合、組み込まれた値のスケールために、望ましくない結果が生じます。例の ChartAxisAssociation オブジェクトを削除して、動作を確認してください。

{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{RecordGrid height = 6cm, record-source = sample-records}

{let chart:LayeredChart =
    {LayeredChart
        width = 15cm,
        height = 6cm,
        left-axis =
            {new {NumericAxis-of double}, 0, 300000},
        right-axis =
            {new {NumericAxis-of double}, 0, 10},
        {LineLayer
            sample-records,
            "ID",
            "Wins",
            x-axis-data = {ChartDataSeries sample-records, "Name"}
        },
        {ChartAxisAssociation
            {ChartDataSeries sample-records, "ID"},
            ChartAxisSpecification.automatic, || X axis as normal  
            ChartAxisSpecification.primary    || Y axis -> left
        },
        {ChartAxisAssociation
            {ChartDataSeries sample-records, "Wins"},
            ChartAxisSpecification.automatic, || X axis as normal  
            ChartAxisSpecification.secondary  || Y axis -> right
        }
    }
}

{Canvas
    width = chart.width,
    height = chart.height,
    chart
}


axis-group (フィールド)
public constant LayeredChart.axis-group:Shape

すべての ChartAxis オブジェクトのトップレベルの親 Shape

説明

LayeredChart の資料で述べられているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。軸の親オブジェクトもそれぞれの軸の原点を共有することに注意してください。次の図は、それぞれの関係を、各資料へのリンクと共に示しています。




bottom-axis (フィールド)
public-get private-set LayeredChart.bottom-axis:#ChartAxis

この LayeredChart の下にある ChartAxis

説明

通常、これはいわゆる X 軸の 1 つで、ChartLayer.x-axis-data または他の列挙体 (レコード インデックスなど) と関連しています。ただし、LayeredChart.flipped? が true である場合は、その役割は LayeredChart.left-axis のそれと交換されます。

注意事項

通常、このオブジェクトは、必要に応じて自動的に生成されます。ただし、LayeredChart.default コンストラクタか LayeredChart.set-bottom-axis のいずれかを使用して直接設定できます。軸オブジェクトの存続期間および自動生成については、LayeredChart のドキュメントを参照してください。


bottom-axis-parent (フィールド)
public constant LayeredChart.bottom-axis-parent:Shape

下の軸 (LayeredChart.bottom-axis) の親 Shape (ある場合)。

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


flipped? (アクセサ)
アクセサ public final LayeredChart.flipped?:bool
セッター public final LayeredChart.flipped?:bool

グラフを反転させて、X 方向と Y 方向が逆になるようにします。

説明

この値が true である場合は、LayeredChart の軸と座標は逆になります。つまり、X 軸は垂直方向となり、Y 軸は水平方向となります。たとえば、LayeredChart の左軸はまだ左にあります。これは、Y 軸ではなく X 軸を参照するだけです。
この表では、flipped? の値に応じた、各軸が果たす役割を説明します。


注意事項

軸のいずれかを手動で設定すると、このプロパティを変更するときに、多くの場合、手動で軸を変更することが必要になります。


{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{let chart:LayeredChart =
    {LayeredChart
        width = 15cm,
        height = 6cm,
        {BarLayer
            sample-records,
            "Wins",
            x-axis-data = {ChartDataSeries sample-records, "Name"}
        }
    }
}

{Canvas
    width = chart.width,
    height = chart.height,
    chart
}

{CheckButton
    label = "flipped?",
    value = chart.flipped?,
    {on ValueChanged at cb:CheckButton do
        set chart.flipped? = cb.value
    }
}



group-y-axis-data-across-layers? (アクセサ)
アクセサ public final LayeredChart.group-y-axis-data-across-layers?:bool
セッター public final LayeredChart.group-y-axis-data-across-layers?:bool

Y 軸の作成時に異なる ChartLayerChartDataSeries を一緒にグループ化するかどうかを決定します。

説明

LayeredChart が自動的にその軸を生成し、同じ Y 軸を使用して表示できるように類似するデータ系列を一緒にグループ化しようとする場合は、異なる ChartLayer のデータ系列がグループ化の対象となるかどうかがこのプロパティで決定されます。
LayeredChart.group-y-axis-data? が false の場合、このプロパティは無効です。

両方のプロパティの使用例については、LayeredChart.group-y-axis-data? を参照してください。


group-y-axis-data? (アクセサ)
アクセサ public final LayeredChart.group-y-axis-data?:bool
セッター public final LayeredChart.group-y-axis-data?:bool

Y 軸の作成時に異なる ChartDataSeries を一緒にグループ化するかどうかを決定します。

説明

LayeredChart が自動的にその軸を生成しようとする場合、この値は、1 つの軸を使用して表示できるように複数の類似するデータ系列を一緒にグループ化するかどうかを決定します。
この値が true の場合、同じデータ型 (たとえば、 ChartDataSeries.field.domain.type は同じ型です) を持つ複数のデータ系列は、1 つの軸を作成するときに、一緒に使用されます。
この値が false の場合、プロットされる Y データ系列ごとに 1 つの Y 軸が作成されます。もちろん、2 つの Y 軸用スロットしかないので、これは最初の 2 つのデータ系列しかカバーしません。
LayeredChart.group-y-axis-data-across-layers? もこのプロセスに影響します。データ系列のグループ化において異なるレイヤからのデータ系列の混在が許可されるかどうかを決定します。

この例では、両方のプロパティを変更できます。ここには 2 つの分離したレイヤがあり、それぞれに 1 つの同じ型の Y データ系列があります。既定ではどのように Points で右軸が取られるかに注意してください。group-y-axis-data-across-layers? をクリックして、動作を確認してください。

{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{let chart:LayeredChart =
    {LayeredChart
        width = 15cm,
        height = 6cm,
        {BarLayer
            sample-records,
            "Age",
            x-axis-data = {ChartDataSeries sample-records, "Name"}
        },
        {LineLayer
            sample-records,
            "Points"
        }
    }
}

{Canvas
    width = chart.width,
    height = chart.height,
    chart
}

{CheckButton
    label = "group-y-axis-data?",
    value = chart.group-y-axis-data?,
    {on ValueChanged at cb:CheckButton do
        set chart.group-y-axis-data? = cb.value
    }
}
{CheckButton
    label = "group-y-axis-data-across-layers?",
    value = chart.group-y-axis-data-across-layers?,
    {on ValueChanged at cb:CheckButton do
        set chart.group-y-axis-data-across-layers? = cb.value
    }
}


h-axis-group (フィールド)
public constant LayeredChart.h-axis-group:Shape

すべての水平方向 ChartAxis オブジェクトの親 Shape

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


layers (フィールド)
public constant LayeredChart.layers:{Array-of ChartLayer} ={new {Array-of ChartLayer}}

この LayeredChart を構成する ChartLayer の配列。

注意事項

この配列の内容は変更しないでください。この配列内のオブジェクトの順序を変更することは許可されますが、これを行う場合には、必ず LayeredChart.note-layers-order-changed を呼び出す必要があります。


left-axis (フィールド)
public-get private-set LayeredChart.left-axis:#ChartAxis

この LayeredChart の左側にある ChartAxis

説明

通常、これはいわゆる Y 軸の 1 つで、ChartLayer.y-axis-data と関連しています。ただし、LayeredChart.flipped? が true である場合は、その役割は LayeredChart.bottom-axis のそれと交換されます。

注意事項

通常、このオブジェクトは、必要に応じて自動的に生成されます。ただし、LayeredChart.default コンストラクタか LayeredChart.set-left-axis のいずれかを使用して直接設定できます。軸オブジェクトの存続期間および自動生成については、LayeredChart のドキュメントを参照してください。


left-axis-parent (フィールド)
public constant LayeredChart.left-axis-parent:Shape

左の軸 (LayeredChart.left-axis) の親 Shape (ある場合)。

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


legend-enabled? (非ローカル オプション)
public LayeredChart.legend-enabled?:bool

Chart の凡例作成を有効または無効にするために使用できる bool

説明

legend-enabled? を参照してください。


plot-area (フィールド)
public constant LayeredChart.plot-area:LayeredPlotArea

この LayeredChart のプロット エリアと関連付けられた LayeredPlotArea オブジェクト。

説明

このオブジェクトは、コンストラクタ LayeredChart.default を通じて設定されます。詳細については、LayeredPlotArea を参照してください。


right-axis (フィールド)
public-get private-set LayeredChart.right-axis:#ChartAxis

この LayeredChart の右側にある ChartAxis

説明

通常、これはいわゆる Y 軸の 1 つで、ChartLayer.y-axis-data と関連しています。ただし、LayeredChart.flipped? が true である場合は、その役割は LayeredChart.top-axis のそれと交換されます。

注意事項

通常、このオブジェクトは、必要に応じて自動的に生成されます。ただし、LayeredChart.default コンストラクタか LayeredChart.set-right-axis のいずれかを使用して直接設定できます。軸オブジェクトの存続期間および自動生成については、LayeredChart のドキュメントを参照してください。


right-axis-parent (フィールド)
public constant LayeredChart.right-axis-parent:Shape

右の軸 (LayeredChart.right-axis) の親 Shape (ある場合)。

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


style-element (アクセサ)
アクセサ public LayeredChart.style-element:String

スタイリングの目的のための、この Visual の "要素" や "型" です。

説明

この実装によって Visual._style-elementの値が返されますが、通常は定数を返すためにオーバーライドされます。

オーバーライド

Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入: バージョン 6.0


top-axis (フィールド)
public-get private-set LayeredChart.top-axis:#ChartAxis

この LayeredChart の上にある ChartAxis

説明

通常、これはいわゆる X 軸の 1 つで、ChartLayer.x-axis-data または他の列挙体 (レコード インデックスなど) と関連しています。ただし、LayeredChart.flipped? が true である場合は、その役割は LayeredChart.right-axis のそれと交換されます。

注意事項

通常、このオブジェクトは、必要に応じて自動的に生成されます。ただし、LayeredChart.default コンストラクタか LayeredChart.set-top-axis のいずれかを使用して直接設定できます。軸オブジェクトの存続期間および自動生成については、LayeredChart のドキュメントを参照してください。


top-axis-parent (フィールド)
public constant LayeredChart.top-axis-parent:Shape

上の軸 (LayeredChart.top-axis) の親 Shape (ある場合)。

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


v-axis-group (フィールド)
public constant LayeredChart.v-axis-group:Shape

すべての垂直方向 ChartAxis オブジェクトの親 Shape

説明

LayeredChart のドキュメントで明記されているように、Shape 階層の主な目的は、非ローカル オプションをさまざまな方法で設定することにあります。この Shape はその階層のメンバです。階層および階層内のこの Shape の役割を説明する図については、LayeredChart.axis-group を参照してください。


x-axis-factory (ローカル オプション)
public LayeredChart.x-axis-factory:#LayeredChart.AxisFactory =null

X 軸の ChartAxis オブジェクトを必要に応じて作成するために使用されるファクトリ プロシージャ。

説明

プロシージャのパラメータおよび戻り値については、LayeredChart.AxisFactory を参照してください。

注意事項

このファクトリから返される軸は、自動的に生成されるとみなされ、通常の自動軸生成プロセスで生成される ChartAxis オブジェクトと同様に扱われます。すなわち、これらはレイアウトで必要な場合は、破棄されてから、再作成されます。
対象的に、軸スロットに直接設定された軸オブジェクトは、意図的に削除するまで保存されます。軸オブジェクトは、LayeredChart.set-left-axisLayeredChart.set-right-axisLayeredChart.set-top-axis、および LayeredChart.set-bottom-axis の 1 つを使用して設定するか、または LayeredChart.default コンストラクタに渡すことによって設定することができます。


y-axis-factory (ローカル オプション)
public LayeredChart.y-axis-factory:#LayeredChart.AxisFactory =null

Y 軸の ChartAxis オブジェクトを必要に応じて作成するために使用されるファクトリ プロシージャ。

説明

プロシージャのパラメータおよび戻り値については、LayeredChart.AxisFactory を参照してください。

注意事項

このファクトリから返される軸は、自動的に生成されるとみなされ、通常の自動軸生成プロセスで生成される ChartAxis オブジェクトと同様に扱われます。すなわち、これらはレイアウトで必要な場合は、破棄されてから、再作成されます。
対象的に、軸スロットに直接設定された軸オブジェクトは、意図的に削除するまで保存されます。軸オブジェクトは、LayeredChart.set-left-axisLayeredChart.set-right-axisLayeredChart.set-top-axis、および LayeredChart.set-bottom-axis の 1 つを使用して設定するか、または LayeredChart.default コンストラクタに渡すことによって設定することができます。



クラス変数と定数の詳細
AxisFactory (クラス定数)
public constant LayeredChart.AxisFactory:ProcType ={proc-type {chart:LayeredChart}:(primary:#ChartAxis, secondary:#ChartAxis) }

ChartAxis オブジェクトの生成に使用されるファクトリー プロシージャの Type。これは、オプション LayeredChart.x-axis-factory および LayeredChart.y-axis-factory の型です。

chart: 1 本以上の軸が作成される LayeredChart

戻り値

使用される基本軸と 2 次軸。プロシージャで null 軸と非 null 軸の組み合わせが返される場合があります。一方の軸が非 null である場合は、自動軸生成がここで停止します。ただし、両方の軸が null である場合、通常の自動軸生成プロセスが続行されます。




メソッド詳細
append-axis-association (メソッド)
public {LayeredChart.append-axis-association}:void

この LayeredChartChartAxisAssociation を追加します。

association: 追加する関連付け。

説明

関連付けの追加や削除を含め、LayeredChart.axis-associations を直接操作することもできます。これを行う場合は、必ず LayeredChart.note-axis-associations-changed を呼び出す必要があります。軸の関連付けと軸のマッピングの詳細については、LayeredChart を参照してください。

注意事項

同じデータ系列の関連付けが既に存在する場合は、エラーが発生します。


append-chart-layer (メソッド)
public {LayeredChart.append-chart-layer layer:ChartLayer}:void

この LayeredChartChartLayer を追加します。

layer: 追加する ChartLayer

説明

追加されたレイヤは、LayeredChart.layers の終わりに表示されます。これは、そのレイヤが既存のレイヤの上に表示されることを意味します。レイヤの順序を変更したい場合、配列を直接処理できます。これを行った後には、必ず LayeredChart.note-layers-order-changed を呼び出す必要があります。


compute-data-min-max (メソッド)
public {LayeredChart.compute-data-min-max}:(min:any, max:any)

data に関連した最小値と最大値を決定します。

data: 検証する ChartDataSeries。これは、このグラフのレイヤの 1 つに対する ChartLayer.y-axis-data のメンバである必要があります。

戻り値

最小値と最大値。data がこのグラフのレイヤで見つからなかった場合、または非 null の値がデータに存在していなかった場合は、これらの値の両方が null になります。それ以外の場合は、両方とも非 null です。

説明

このメソッドを呼び出すと、ChartLayer.compute-data-min-max の一連の呼び出しが行われます。このメソッドでは、プロットが考慮されるように、計算を拡張できます。たとえば、スタッキング棒グラフを扱う場合、実際のスタック データの値が考慮されます。これが ChartDataSeries.compute-min-max ではなく、このメソッドを呼び出す理由です。


ensure-axes-valid (メソッド)
public {LayeredChart.ensure-axes-valid}:void

必要なすべての軸生成が実行されていることを確認してください。

説明

このメソッドは Chart.ensure-layout-valid と同等ですが、軸にのみ関係しています。このメソッドを呼び出した場合、レイアウトと形状の生成は通常行われません。軸が生成されるだけです。


estimate-margins (メソッド)
protected {LayeredChart.estimate-margins
need-left?:bool,
need-right?:bool,
need-top?:bool,
need-bottom?:bool,
left:Distance,
right:Distance,
top:Distance,
bottom:Distance
}:(left:Distance, right:Distance, top:Distance, bottom:Distance)

この Chart の必要余白を概算します。

need-left?: 左の余白の見積もりが必要であるかどうかを示します。必要ない場合は、左の余白に left が返されます。
need-right?: 右の余白の見積もりが必要であるかどうかを示します。必要ない場合は、右の余白に right が返されます。
need-top?: 上の余白の見積もりが必要であるかどうかを示します。必要ない場合は、上の余白に top が返されます。
need-bottom?: 下の余白の見積もりが必要であるかどうかを示します。必要ない場合は、下の余白に bottom が返されます。
left: 左の余白の既定値を示します。need-left? が true の場合、この値を返します。true でない場合、無視されます。
right: 右の余白の既定値を示します。need-right? が true の場合、この値を返します。true でない場合、無視されます。
top: 上の余白の既定値を示します。need-top? が true の場合、この値を返します。true でない場合、無視されます。
bottom: 下の余白の既定値を示します。need-bottom? が true の場合、この値を返します。true でない場合、無視されます。

説明

このメソッドは、レイアウト処理の過程で内部的に使用されます。このメソッドを直接呼び出す必要があることは想定されていません。代わりに Chart.get-actual-left-marginChart.get-actual-right-marginChart.get-actual-top-margin、または Chart.get-actual-bottom-margin を使用します。必要な場合、これらの呼び出しの結果、このメソッドが呼び出されます。

注意事項

estimate-margins を呼び出す前に、Chart レイアウト システムは、最初の近似値としてグラフの plot-area-bounds をグラフ領域全体に設定します。estimate-margins の実装は、必要に応じて、見積もり処理の過程でこれらを自由に上書きできます。


get-best-match-x-axis (メソッド)
public {LayeredChart.get-best-match-x-axis}:(axis:#ChartAxis, source-field:#RecordField)

y-data との組み合わせに最も適した X 軸を決定します。

y-data: 軸が検索される ChartDataSeries

戻り値

最適な X 軸 (ある場合)。X 軸が存在しない場合、あるいはどれも適切でない場合は、null が返されます。
X 軸との関連で使用される RecordField も返されます (適切な場合)。この値が null となるのは、軸が null の場合、あるいは軸がレコード インデックスのみに基づいている場合だけです。(レコード インデックス ベースの軸実装の例については、DefaultChartAxis を参照してください。)

説明

このメソッドはプロット中に使いますが、外部で使用することもできます。通常は ChartDataMapping オブジェクトの作成で使用します。

X 軸のマッピングは、最高のものから最低のものへ、次の優先度順に実行されます。

  1. ChartAxisAssociation: ChartAxisAssociation を指定すると、要求した関連付けは常に有効とみなされます。
  2. データ系列: 候補 ChartAxis オブジェクトの 1 つが、問題となっている実際のデータ系列を表していると宣言すると、そのオブジェクトが使用されます。(ChartAxis.get-data-typeChartAxis がこうした宣言を行う場合のメカニズムです。)
  3. レコード フィールド:候補軸の 1 つが ChartDataSeries.fieldと同じ RecordField を表していると宣言すると、その軸が使用されます。
  4. データ型: 候補軸の1つがデータ型を表している場合 (ChartAxis.get-data-typeAxisDataType.type を返します。)、互換性のある y-data が使用されます。 (互換性のある y-data は、軸のデータ型のサブタイプでなければなりません。)
  5. フィールド名:候補軸の 1 つが、y-data.field と同じ名前のフィールドを表している場合、その軸が使用されます。
  6. レコード インデックス:軸がレコード インデックス単独でデータを表す場合 (例については、DefaultChartAxis を参照)、その軸が最後の手段として使用されます。


get-best-match-y-axis (メソッド)
public {LayeredChart.get-best-match-y-axis}:#ChartAxis

y-data との組み合わせに最も適した Y 軸を決定します。

y-data: 軸が検索される ChartDataSeries

戻り値

最適な Y 軸 (ある場合)。Y 軸が存在しない場合、あるいはどれも適切でない場合は、null が返されます。

説明

このメソッドはプロット時に使用されますが、外部的にも役立ちます。これは、ChartDataMapping オブジェクトの作成で最も一般的に使用されます。
Y 軸のマッピングは、最高のものから最低のものへ、次の優先度順に実行されます。
  1. ChartAxisAssociation: ChartAxisAssociation を指定すると、要求した関連付けは常に有効とみなされます。
  2. データ系列:候補 ChartAxis オブジェクトの 1 つが、問題となっている実際のデータ系列を表していると宣言すると、そのオブジェクトが使用されます。(ChartAxis.get-data-type は、ChartAxis がこうした宣言を行う場合のメカニズムです。)
  3. レコード フィールド:候補軸の 1 つが ChartDataSeries.field と同じ RecordField を表していると宣言すると、その軸が使用されます。
  4. データ型: 候補軸の1つがデータ型を表している場合 (ChartAxis.get-data-typeAxisDataType.type を返します。)、互換性のある y-data が使用されます。(互換性のある y-data は、軸のデータ型のサブタイプでなければなりません。)
  5. フィールド名:候補軸の 1 つが y-data.field と同じ名前のフィールドを表していると宣言すると、その軸が使用されます。


get-layer-at-point (メソッド)
public {LayeredChart.get-layer-at-point}:#ChartLayer

この LayeredChart 内の特定の位置に ChartLayer があれば、それを確認してください。

x: X 座標。
y: Y 座標。

戻り値

ポイントの ChartLayer、あるいはこのポイントをカバーするレイヤがない場合は null。

説明

このメソッドでは、Shape.get-child-at-point を使用します。ChartLayer に属する一部の Shape オブジェクトは指定されたポイントにある必要があります。そうでないと、ChartLayer が見つからず、このメソッドで null が返されます。
座標は、LayeredChart の原点に対して相対的なものとして解釈されます。(つまり、グラフの左上隅に対して相対的です。)

注意事項

これに関するその他の手法については、以下を参照してください。


get-layer-from-shape (メソッド)
public {LayeredChart.get-layer-from-shape shape:Shape}:#ChartLayer

Shape を行う ChartLayer があれば、それを確認してください。

shape: ChartLayer の検索で使用する Shape

戻り値

この LayeredChartChartLayer の 1 つ、または ShapeLayeredChart.layers の要素の 1 つを原点としない場合は、null

説明

この便利なメソッドにより、どの ChartLayerChartLayer.get-data-series-from-shape を使用して shape を作成したかが判定できます。


get-legend-entries (メソッド)
public {LayeredChart.get-legend-entries}:{Array-of Graphic}

この Chart の凡例に必要なすべての項目を作成します。

説明

一般的に言えば、このメソッドは、グラフのプロット コンポーネント (たとえば、LayeredChartChartLayer) を繰り返し、それぞれのプロット コンポーネントに必要なすべての項目を作成します。
このメソッドは通常、Chart.create-legend によって呼び出される Chart.legend-factory によって呼び出されます。既定の凡例項目の処理方法については、Chart.default-legend-factory を参照してください。


get-x-axis (メソッド)
public final {LayeredChart.get-x-axis first?:bool}:#ChartAxis

この LayeredChart の X 軸の 1 つを取得するための便利なメソッド。

first?: true の場合、基本 X 軸が返され、そうでなければ、2 次 X 軸が返されます。

戻り値

要求された ChartAxis、あるいは該当軸が現在存在しない場合は null

説明

このメソッドは、LayeredChart.flipped? を扱う場合に役立ちます。たとえば、flipped?true で、first?true である場合、このメソッドでは LayeredChart.left-axis の値が返されます。


get-x-axis-length (メソッド)
public final {LayeredChart.get-x-axis-length}:Distance

X 軸の長さを取得します 。

戻り値

X 軸の長さを示す Distance

説明

この値は、Chart.plot-area-bounds か、または LayeredPlotArea.widthLayeredPlotArea.height で示されたプロット エリアの対応する寸法と正確に一致しています。ただし、このメソッドでは LayeredChart.flipped? が考慮されています。これは、flipped? が false であれば、self.plot-area.width を返し、そうでなければ、self.plot-area.height を返します。

注意事項

垂直軸の場合、空間の方向はデータの方向と逆になります。つまり、軸の終わりは、始点より上にありますが、始点より小さい Y 座標をもちます。これは、画面上の Y 座標は下向きに増加するためです。ただし、このメソッドでは、違いがありません。返される値は常に正数です。位置決めにこの値を使用すると、このことを考慮して、軸が垂直方向である場合は、負の値を使用する必要のある場合があります。
LayeredChart.flipped?true である場合に限り、X 軸は垂直方向であるということを覚えておいてください。


get-y-axis (メソッド)
public final {LayeredChart.get-y-axis first?:bool}:#ChartAxis

この LayeredChart の Y 軸の 1 つを取得するための便利なメソッド。

first?: true の場合、基本 Y 軸が返され、そうでなければ、2 次 Y 軸が返されます。

戻り値

要求された ChartAxis、あるいは該当軸が現在存在しない場合は null

説明

このメソッドは、LayeredChart.flipped? を扱う場合に役立ちます。たとえば、flipped?true で、first?true である場合、このメソッドでは LayeredChart.bottom-axis の値が返されます。


get-y-axis-length (メソッド)
public final {LayeredChart.get-y-axis-length}:Distance

Y 軸の長さを取得します 。

戻り値

Y 軸の長さを示す Distance

説明

この値は、Chart.plot-area-bounds か、または LayeredPlotArea.widthLayeredPlotArea.height で示されたプロット エリアの対応する寸法と正確に一致しています。ただし、このメソッドでは LayeredChart.flipped? が考慮されています。これは、flipped? が false であれば、self.plot-area.height を返し、そうでなければ、self.plot-area.width を返します。

注意事項

垂直軸の場合、空間の方向はデータの方向と逆になります。つまり、軸の終わりは、始点より上にありますが、始点より小さい Y 座標をもちます。これは、画面上の Y 座標は下向きに増加するためです。ただし、このメソッドでは、違いがありません。返される値は常に正数です。位置決めにこの値を使用すると、このことを考慮して、軸が垂直方向である場合は、負の値を使用する必要のある場合があります。
LayeredChart.flipped?false である場合に限り、Y 軸は垂直方向であるということを覚えておいてください。


group-series-on-y-axis? (メソッド)
protected {LayeredChart.group-series-on-y-axis?}:bool

軸の自動生成時に seriesarray 内のものと一緒にグループ化するかどうかを決定します。

array: この軸のグループ化で既に許可されている ChartDataSeries の配列。これは空である場合があります。
series: array のグループ化で考慮される ChartDataSeries

戻り値

seriesarray でグループ化される場合は true

説明

このメソッドは、Y 軸の自動軸生成プロセスによって内部的に呼び出されます。このメソッドは、seriesarray の場合と同じ軸に配置するのに適切であるかどうかを判断する必要があります。
このメソッドを呼び出す必要はありませんが、LayeredChart の独自のサブクラスでオーバーライドすることは役立ちます。
既定のロジックは次のとおりです。
  1. array が空の場合、true が返されます。
  2. LayeredChart.group-y-axis-data? が false の場合、false が返されます。
  3. 系列がすべて同じタイプを使用する場合、true が返されます。これは、ChartDataSeries.field.domain.type を使用して決定されます。
  4. 次を返します。 false.


invalidate-axes-and-layout (メソッド)
public {LayeredChart.invalidate-axes-and-layout}:void

Chart がすぐにレイアウト操作を実行するように要求し、軸を作成する必要があることも示します。

説明

このメソッドでは、Chart.invalidate-layout を呼び出しますが、グラフに関連した現在の ChartAxis オブジェクトが(ユーザー指定軸でなければ) 再生成 を必要とすることも示します。

注意事項

このメソッドを呼び出す必要があるのは、ごくまれです。たとえば、LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を使用して独自の軸ファクトリーを指定し、そのファクトリーがグラフ システム自体で認識されない一部の外部パラメータ (フォント指定子など) に依存している場合に、これが役立ちます。新規軸を必要とするこのパラメータが変更された場合に、このメソッドを呼び出します。


layout-chart (メソッド)
public {LayeredChart.layout-chart}:void

このチャートにおけるレイアウトの現在のプロセスを実行します。

説明

このメソッドを直接呼び出してはいけません。; グラフのレイアウトをトリガしたい場合は、Chart.ensure-layout-valid を呼び出してください。 Chart.layout-chart が呼び出されます。 このメソッドは、子のクラスでオーバーライドされるのが理想的です。その中で、グラフの現在のレイアウトの前(又は後)の動作を実行します。
導入: バージョン 6.0


non-keyword-init-arg (メソッド)
public {LayeredChart.non-keyword-init-arg arg:any}:void

InitRestArgParser.process-rest-args で非キーワード引数が検出されると、呼び出されます。

説明

Visual によるこのメソッドの実装では、最初にこのメソッドへの入力値をオブジェクトに関連するメタデータとして解釈を試みます。たとえば、オブジェクトに関連する EventHandlerDataBinding を認識してから、これらをアタッチするための適切な手順を実行することになります。
メタデータとして認識不可能な入力値は、Visual に追加される内容であると解釈され、Visual.add-from-init-args に渡されます。

オーバーライド

オブジェクトに関連付けられた追加のメタデータも受け入れるようにするには、このメソッドをオーバーライドします。実装では通常、解釈に失敗した入力値でスーパー実装が呼び出されるようにします。


note-axis-associations-changed (メソッド)
public {LayeredChart.note-axis-associations-changed}:void

この LayeredChartLayeredChart.axis-associations の内容が変更されたことを通知します。

説明

LayeredChart.axis-associations を直接変更する場合は、必ずこのメソッドを呼び出す必要があります。これにより、グラフの適切なコンポーネントが確実に再生成されるようになります。
軸の関連付けと軸のマッピングの詳細については、LayeredChart を参照してください。


note-color-palette-changed (メソッド)
public {LayeredChart.note-color-palette-changed}:void

この ChartChart.color-palette の内容が変更されたことを通知します。

説明

Chart.color-palette を直接変更する場合、ポイントする配列を変更するかフィールドの値を変更して、このメソッドを呼び出す必要があります。これにより、グラフの適切なコンポーネントが確実に再生成されます。


note-layers-order-changed (メソッド)
public {LayeredChart.note-layers-order-changed}:void

この LayeredChartLayeredChart.layers の順序が変更されたことを通知します。

説明

LayeredChart.layers を配置し直す場合には、必ずこのメソッドを呼び出す必要があります。これにより、グラフの適切なコンポーネントが確実に再生成されるようになります。(LayeredChart.layers を配置し直すことしかできないことに注意してください。要素の追加または削除はできません。これを行うには、LayeredChart.append-chart-layer または LayeredChart.remove-chart-layer を使用します。)


note-legend-changed (メソッド)
public {LayeredChart.note-legend-changed}:void

凡例が変更されたことを、この LayeredChart に通知します。

説明

LayeredChart.get-legend-entries を呼び出すことによって、凡例のエントリを LayeredChart が再作成します。 このメソッドは LayeredChart.invalidate-layout を呼び出すので、新しいレイアウトで凡例における変更が反映されるようにしなければなりません。
導入: バージョン 6.0


note-min-max-computation-changed (メソッド)
public {LayeredChart.note-min-max-computation-changed}:void

LayeredChart.compute-data-min-max によって返される値に影響を与える要素において、変更があったことを全ての現在の ChartAxis に通知します。

説明

これは、最小値や最大値が計算される方法への変更を ChartAxis オブジェクトに通知するために使用されます。そのオブジェクトはこれらの変更を意識していない可能性があります。変更には、この LayeredChart 内の ChartLayer セットに対するものや、このグラフ内のレイヤーに関するスタッキング モードに対するものが含まれます。
アプリケーションでこのメソッドを呼び出す必要は滅多にありませんが、LayeredChart.compute-data-min-max で最小値や最大値が計算される方法をオーバーライドする場合や、そのメソッドによって返される値が変更された場合に通知するのにこのメソッドをオーバーライドしたい場合に有用かもしれません。
このメソッドは、データ自身が変更した場合には呼び出され ない ことに注意してください。その為、ChartDataSeries 上で Observer.observe を使用してください。
導入: バージョン 6.0


remove-axis-association (メソッド)
public {LayeredChart.remove-axis-association}:void

この LayeredChartChartAxisAssociation を追加します。

association: 追加する関連付け。

説明

associationLayeredChart.axis-associations のメンバでなければなりません。そうでない場合、エラーが発生します。
関連付けの追加や削除を含め、LayeredChart.axis-associations を直接操作することもできます。これを行う場合は、必ず LayeredChart.note-axis-associations-changed を呼び出す必要があります。軸の関連付けと軸のマッピングの詳細については、LayeredChart を参照してください。


remove-chart-layer (メソッド)
public {LayeredChart.remove-chart-layer layer:ChartLayer}:void

ChartLayer をこの LayeredChart から削除します。

layer: 削除する ChartLayer

説明

layerLayeredChart.layers のメンバでなければなりません。そうでない場合、エラーが発生します。


set-bottom-axis (メソッド)
public {LayeredChart.set-bottom-axis axis:#ChartAxis}:void

この LayeredChart に関連した下の ChartAxis を設定 (または設定解除) します。

axis: 使用する軸 (ある場合)。この値が null であると、前に下の軸が提供されている場合、その軸が削除されます。

説明

このメソッド、または LayeredChart.default コンストラクタを使用して、独自の軸オブジェクトを提供できます。そうしない場合、この LayeredChart 内の ChartLayer の内容に基づいて、軸オブジェクトが必要に応じて自動的に作成されます。
この軸は通常、基本 X 軸ですが、LayeredChart.flipped?true の場合は基本 Y 軸です。

注意事項

どのデータ系列がどの軸を使用するかを手動で制御するため、あるいは表示される値の範囲を直接制御するため、独自の軸を提供することができます。BarLayer が正しく表示されるには特殊な X 軸を必要であることに注意してください。通常、自動軸生成プロセスではこのことが考慮されますが、BarLayer に X 軸を作成する場合には、正しいタイプを作成する必要があります。詳細については、BarLayerEnumeratedBarChartAxis、および DefaultBarChartAxis を参照してください。
手動で作成した軸を提供すると、自動軸生成の通常のプロセスが禁止されます。左軸または右軸の一方がユーザー指定の場合は、どちらの軸も自動的には生成されません。ユーザー指定軸を削除するには (これに加えて自動生成を再度有効にするには)、これを null に設定します。
これは LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を使用するのとは対照的です。これらのファクトリーの結果は、ユーザー指定ではなく、自動生成とみなされます。


set-left-axis (メソッド)
public {LayeredChart.set-left-axis axis:#ChartAxis}:void

この LayeredChart に関連した左の ChartAxis を設定 (または設定解除) します。

axis: 使用する軸 (ある場合)。この値が null であると、前に左の軸が提供されている場合、その軸が削除されます。

説明

このメソッド、または LayeredChart.default コンストラクタを使用して、独自の軸オブジェクトを提供できます。そうしない場合、この LayeredChart 内の ChartLayer の内容に基づいて、軸オブジェクトが必要に応じて自動的に作成されます。
この軸は通常、基本 Y 軸ですが、LayeredChart.flipped?true の場合は基本 X 軸です。

注意事項

どのデータ系列がどの軸を使用するかを手動で制御するため、あるいは表示される値の範囲を直接制御するため、独自の軸を提供することができます。BarLayer が正しく表示されるには特殊な X 軸を必要であることに注意してください。通常、自動軸生成プロセスではこのことが考慮されますが、BarLayer に X 軸を作成する場合には、正しいタイプを作成する必要があります。詳細については、BarLayerEnumeratedBarChartAxis、および DefaultBarChartAxis を参照してください。
手動で作成した軸を提供すると、自動軸生成の通常のプロセスが禁止されます。左軸または右軸の一方がユーザー指定の場合は、どちらの軸も自動的には生成されません。ユーザー指定軸を削除するには (これに加えて自動生成を再度有効にするには)、これを null に設定します。
これは LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を使用するのとは対照的です。これらのファクトリーの結果は、ユーザー指定ではなく、自動生成とみなされます。


set-right-axis (メソッド)
public {LayeredChart.set-right-axis axis:#ChartAxis}:void

この LayeredChart に関連した右の ChartAxis を設定 (または設定解除) します。

axis: 使用する軸 (ある場合)。この値が null であると、前に右の軸が提供されている場合、その軸が削除されます。

説明

このメソッド、または LayeredChart.default コンストラクタを使用して、独自の軸オブジェクトを提供できます。そうしない場合、この LayeredChart 内の ChartLayer の内容に基づいて、軸オブジェクトが必要に応じて自動的に作成されます。
この軸は通常、2 次 Y 軸ですが、LayeredChart.flipped?true の場合は 2 次 X 軸です。

注意事項

どのデータ系列がどの軸を使用するかを手動で制御するため、あるいは表示される値の範囲を直接制御するため、独自の軸を提供することができます。BarLayer が正しく表示されるには特殊な X 軸を必要であることに注意してください。通常、自動軸生成プロセスではこのことが考慮されますが、BarLayer に X 軸を作成する場合には、正しいタイプを作成する必要があります。詳細については、BarLayerEnumeratedBarChartAxis、および DefaultBarChartAxis を参照してください。
手動で作成した軸を提供すると、自動軸生成の通常のプロセスが禁止されます。左軸または右軸の一方がユーザー指定の場合は、どちらの軸も自動的には生成されません。ユーザー指定軸を削除するには (これに加えて自動生成を再度有効にするには)、これを null に設定します。
これは LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を使用するのとは対照的です。これらのファクトリーの結果は、ユーザー指定ではなく、自動生成とみなされます。


set-top-axis (メソッド)
public {LayeredChart.set-top-axis axis:#ChartAxis}:void

この LayeredChart に関連した上の ChartAxis を設定 (または設定解除) します。

axis: 使用する軸 (ある場合)。この値が null であると、前に上の軸が提供されている場合、その軸が削除されます。

説明

このメソッド、または LayeredChart.default コンストラクタを使用して、独自の軸オブジェクトを提供できます。そうしない場合、この LayeredChart 内の ChartLayer の内容に基づいて、軸オブジェクトが必要に応じて自動的に作成されます。
この軸は通常、2 次 X 軸ですが、LayeredChart.flipped?true の場合は 2 次 Y 軸です。

注意事項

どのデータ系列がどの軸を使用するかを手動で制御するため、あるいは表示される値の範囲を直接制御するため、独自の軸を提供することができます。BarLayer が正しく表示されるには特殊な X 軸を必要であることに注意してください。通常、自動軸生成プロセスではこのことが考慮されますが、BarLayer に X 軸を作成する場合には、正しいタイプを作成する必要があります。詳細については、BarLayerEnumeratedBarChartAxis、および DefaultBarChartAxis を参照してください。
手動で作成した軸を提供すると、自動軸生成の通常のプロセスが禁止されます。左軸または右軸の一方がユーザー指定の場合は、どちらの軸も自動的には生成されません。ユーザー指定軸を削除するには (これに加えて自動生成を再度有効にするには)、これを null に設定します。
これは LayeredChart.x-axis-factory または LayeredChart.y-axis-factory を使用するのとは対照的です。これらのファクトリーの結果は、ユーザー指定ではなく、自動生成とみなされます。


update-layout (メソッド)
public {LayeredChart.update-layout}:void

Chart.plot-area-bounds に基づいてレイアウト操作を実行します。

説明

このメソッドは、Chart.ensure-layout-valid 内からのみ呼び出されます。Chart 実装では、このメソッドで軸の位置決めやサイズ決定など、実際のレイアウト処理が実行されます。また、実装はそれ自体とこのメソッド内の関連するグラフ オブジェクトで ChartLayoutChanged イベントを発生させます。