GenericDataSeriesAxis (クラス)
public GenericDataSeriesAxis {inherits DataSeriesAxis}
パッケージ: CURL.GUI.CHARTS
直接継承しているサブクラス: EnumeratedBarChartAxis

DataSeriesAxis の序数実装。

説明

この軸クラスでは、どのような種類のデータでも処理できます (ただし、すべての DataSeriesAxis サブクラスの場合と同様に、1 つの GenericDataSeriesAxis 内のすべての ChartDataSeries は、同じ Type で、同じ Domain である必要があります)。
DataSeriesAxis.data 内で検出される固有の値は、それぞれがこの軸の序数値として扱われます。その順序は変更されず、DataSeriesAxis.data 内の各 RecordSet を繰り返し処理するときに検出される順序で表示され、DataSeriesAxis.data が順に繰り返し処理されます。このプロセスの結果は、GenericDataSeriesAxis.values で確認することができます。GenericDataSeriesAxis.compute-values をオーバーライドすれることにより、このプロセスを変更できます。
このタイプの軸は、自動的に作成されることがよくあります。それぞれの軸でどの ChartDataSeries がグループ化されるかをさらに厳密に制御する必要がある場合は、独自のものを作成できます。また、軸を手動で作成して、Shape コンテナ (ChartAxis.major-tick-group など) の 1 つを明示的に提供することができます。これにより、グループに関してオプションを設定できます。たとえば、ChartAxis.major-tick-groupShape.color を設定すると、すべての主目盛りの色が変更されます。

この例は、X 軸上に String を表示するための GenericDataSeriesAxis の使用法を示しています。これは、非数値データに基づく自動軸生成の既定の動作です。デモンストレーション用に軸が手動で正確に作成されています。

例: 次を作成: GenericDataSeriesAxis
{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{LayeredChart
    width = 15cm,
    height = 6cm,
    bottom-axis =
        {GenericDataSeriesAxis
            {ChartDataSeries sample-records, "Name"}
        },
    {LineLayer
        sample-records,
        "Age",
        "Points"
    }
}

コンストラクタ
default:新しい GenericDataSeriesAxis を作成します。
コンストラクタ public {GenericDataSeriesAxis.default
label-group:ChartLabelGroup = {ChartLabelGroup},
axis-group:Shape = {ShapeGroup},
axis-line-group:Shape = {ShapeGroup},
major-tick-group:Shape = {ShapeGroup},
minor-tick-group:Shape = {ShapeGroup},
...
}

プロパティ
values:この軸に関する序数値。
フィールド public constant GenericDataSeriesAxis.values:{Array-of any} ={new {Array-of any}}
プロパティ 継承 DataSeriesAxis: data, maximum, minimum
プロパティ 継承 ChartAxis: axis-group, axis-label, axis-line-group, chart, label-group, length, major-tick-factory, major-tick-group, minor-tick-factory, minor-tick-group, position, style-element, tick-label-factory, x-axis?, y-axis?
プロパティ 継承 ShapeGroup: clonable-class?
プロパティ 継承 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, completely-clonable-children?, cursor, data-source, display-context, dragee, font-size, 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

メソッド
compute-values:GenericDataSeriesAxis.valuesDataSeriesAxis.data からリフレッシュします。
protected {GenericDataSeriesAxis.compute-values}:void
generate-major-ticks:この軸に沿った主目盛りを表すのに必要なすべての Shape を生成します。
protected {GenericDataSeriesAxis.generate-major-ticks}:void
generate-minor-ticks:この軸に沿った補助目盛りを表すのに必要なすべての Shape を生成します。
protected {GenericDataSeriesAxis.generate-minor-ticks}:void
get-position-at-zero:この軸に沿ったゼロに対応する空間位置を取得します。
public {GenericDataSeriesAxis.get-position-at-zero}:Distance
get-relative-position:データ値に対応する空間位置を計算します。
public {GenericDataSeriesAxis.get-relative-position val:any}:Fraction
get-value-relative:この軸に沿った位置に対応するデータ値を計算します。
public {GenericDataSeriesAxis.get-value-relative position:Fraction}:any
handle-observer-message:監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。
protected {GenericDataSeriesAxis.handle-observer-message
sender:Observable,
message:any
}:void
メソッド 継承 DataSeriesAxis: generate-axis-label, generate-tick-label, get-data-type, non-keyword-init-arg, note-min-max-computation-changed
メソッド 継承 ChartAxis: clear-shapes, detach, generate-axis-line, generate-major-tick, generate-minor-tick, get-axis-label, get-major-ticks-Iterator, get-minor-ticks-Iterator, get-position, get-tick-label, get-tick-label-alignment, get-value, regenerate-shapes, transform-from-chart, transform-to-chart, update-layout
メソッド 継承 Observer: observe, stop-observing
メソッド 継承 ShapeGroup: clone-appearance-helper, draw, get-own-bounds, get-own-bounds-in-shape-root, self-contains-point?, self-intersects-polygon?
メソッド 継承 Shape: apply-rotation, apply-scale, apply-transformation, apply-translation, apply-translation-in-parent, constrain-own-layout-bounds, constrain-shape-layout-bounds, contains-point?, 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-layout-bounds, get-right-orientation-in-shape-parent, get-shape-bounds, get-shape-bounds-in-shape-root, get-shape-layout-bounds, get-top-left-in-ancestor, get-transformation-to-shape-root, keyword-init-arg, option-change-notify, overdraw-for-selection, quantize-line-thickness, request-draw, request-draw-self, reset-transformation, set-rotation, set-scale, set-transformation, set-translation-in-parent, to-Graphic, 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-changed, 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, 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 {GenericDataSeriesAxis.default
label-group:ChartLabelGroup = {ChartLabelGroup},
axis-group:Shape = {ShapeGroup},
axis-line-group:Shape = {ShapeGroup},
major-tick-group:Shape = {ShapeGroup},
minor-tick-group:Shape = {ShapeGroup},
...
}

新しい GenericDataSeriesAxis を作成します。

label-group: ChartAxis.label-group の初期値。
axis-group: ChartAxis.axis-group の初期値。
axis-line-group: ChartAxis.axis-line-group の初期値。
major-tick-group: ChartAxis.major-tick-group の初期値。
minor-tick-group: ChartAxis.minor-tick-group の初期値。
...: 非キーワード引数は、この軸への追加用に ChartDataSeries とすることができます。そうでない場合、残余引数は、Shape が受け取るいずれかの引数とすることができます。これらは主に、オプションの初期化を表すキーワード引数です。

GenericDataSeriesAxis を参照してください。



プロパティ詳細
values (フィールド)
public constant GenericDataSeriesAxis.values:{Array-of any} ={new {Array-of any}}

この軸に関する序数値。

説明

これらの値は、DataSeriesAxis.data を繰り返すことによって得られます。この配列は、ChartDataSeries の内容が Observer メッセージに応じて変わると必ず更新されます。

注意事項

GenericDataSeriesAxis.compute-values をオーバーライドすれば、この配列の順序を変えることができます。この配列の内容を変更してはいけません。また、該当メソッド以外では順序を変更してはいけません。
EnumeratedBarChartAxis は、BarLayer プロットでの使用に適した GenericDataSeriesAxis のサブクラスです。





メソッド詳細
compute-values (メソッド)
protected {GenericDataSeriesAxis.compute-values}:void

GenericDataSeriesAxis.valuesDataSeriesAxis.data からリフレッシュします。

説明

このメソッドは、GenericDataSeriesAxis によって内部的にのみ呼び出す必要があります。ただし、サブクラスでこれをオーバーライドすると、データの再配置が許可されます。


例: 次の中での値の順序の変更 GenericDataSeriesAxis
{import * from CURL.GUI.CHARTS}
{import * from CHARTS-DOC,
    location = "../docstring-support/gui/charts-doc.scurl"
}

{define-class package final SortingGenericDataSeriesAxis
  {inherits GenericDataSeriesAxis}

  {constructor package {default
                           label-group:ChartLabelGroup = {ChartLabelGroup},
                           axis-group:Shape = {ShapeGroup},
                           axis-line-group:Shape = {ShapeGroup},
                           major-tick-group:Shape = {ShapeGroup},
                           minor-tick-group:Shape = {ShapeGroup},
                           ...
                       }
    {construct-super
        label-group = label-group,
        axis-group = axis-group,
        axis-line-group = axis-line-group,
        major-tick-group = major-tick-group,
        minor-tick-group = minor-tick-group,
        ...
    }
  }
  
  {method protected {compute-values}:void
    {super.compute-values}
    {self.values.sort
        comparison-proc =
            {proc {a:any, b:any}:bool
                let constant a-str:String = a asa String
                {return {a-str.compare b asa String} <= 0}
            }
    }
  }
}

{LayeredChart
    width = 15cm,
    height = 6cm,
    bottom-axis =
        {SortingGenericDataSeriesAxis
            {ChartDataSeries sample-records, "Name"}
        },
    {LineLayer
        sample-records,
        "Age",
        "Points"
    }
}


generate-major-ticks (メソッド)
protected {GenericDataSeriesAxis.generate-major-ticks}:void

この軸に沿った主目盛りを表すのに必要なすべての Shape を生成します。

説明

これは、ChartAxis の実装で、生成する目盛りの数、目盛りを配置する場所、およびその方法を明らかにして、実際に実行するメソッドです。このメソッドは、ChartAxis.update-layout から呼び出されることを想定しています。
このメソッドを実装する場合は、ChartAxis.generate-major-tick を使用して、標準の目盛り形状を作成すると便利です。生成された Shape は、ChartAxis.major-tick-group に追加されます。


generate-minor-ticks (メソッド)
protected {GenericDataSeriesAxis.generate-minor-ticks}:void

この軸に沿った補助目盛りを表すのに必要なすべての Shape を生成します。

説明

これは、ChartAxis.generate-major-ticks に対応する補助目盛りです。標準軸を実装しても補助目盛りは生成されないので、ChartAxis.generate-minor-ticks は何も実行しません。このメソッドは、ChartAxis.update-layout から呼び出されることを想定しています。
このメソッドを実装しようとする場合は、ChartAxis.generate-minor-tick を使用して、標準の目盛り形状を作成すると便利です。生成された Shape は、ChartAxis.minor-tick-group に追加されます。


get-position-at-zero (メソッド)
public {GenericDataSeriesAxis.get-position-at-zero}:Distance

この軸に沿ったゼロに対応する空間位置を取得します。

説明

これにより、値は ChartAxis.get-position と同じ動作を持つこの軸の長さと共に返されます。詳細については、該当のメソッドを参照してください。

注意事項

ゼロの概念は、すべての軸で意味を持つわけではありません。具体的には、GenericDataSeriesAxis および EnumeratedBarChartAxis は序数軸であって、連続値ベースの軸でないので、ゼロの概念は適用しません。こうした軸では常に 0m が返されます。


get-relative-position (メソッド)
public {GenericDataSeriesAxis.get-relative-position val:any}:Fraction

データ値に対応する空間位置を計算します。

value: 軸の種類によって、必要な型が異なる値。ChartAxis.get-position を参照してください。互換性のない型を渡すとエラーが発生します。

戻り値

軸に沿ったデータ値の位置を示す Fraction。軸の原点の 0 から、軸の終点の 1 までです。

説明

これは基本的に、軸の方向または長さの概念がない ChartAxis.get-position と同じです。実際、このメソッドはこの意味で実装されます。詳細については、ChartAxis.get-position を参照してください。


get-value-relative (メソッド)
public {GenericDataSeriesAxis.get-value-relative position:Fraction}:any

この軸に沿った位置に対応するデータ値を計算します。

position: この軸に沿った位置 (分数として)。これは、01 の間にある必要があります。

戻り値

この軸に適切な型の値。各種の軸に適切な値の Type については、ChartAxis.get-position を参照してください。

説明

これは基本的に、軸の方向または長さの概念がない ChartAxis.get-value と同じです。実際、このメソッドはこの意味で実装されます。詳細については、ChartAxis.get-value を参照してください。


handle-observer-message (メソッド)
protected {GenericDataSeriesAxis.handle-observer-message
sender:Observable,
message:any
}:void

監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。

sender: 変更があった Observable オブジェクトです。
message: これは、Observer からの変更に関する詳細情報が含まれています。詳細情報がない場合は NULL になります。