# オプション
# オプションの解決
オプションは、コンテキスト依存のルートを使用して、上から下へ解決されます。
# チャートレベルのオプション
- options
- overrides[
config.type
] - defaults
# データセットレベルのオプション
dataset.type
は、指定されていない場合、デフォルトで config.type
になります。
- dataset
- options.datasets[
dataset.type
] - options
- overrides[
config.type
].datasets[dataset.type
] - defaults.datasets[
dataset.type
] - defaults
# データセットアニメーションオプション
- dataset.animation
- options.datasets[
dataset.type
].animation - options.animation
- overrides[
config.type
].datasets[dataset.type
].animation - defaults.datasets[
dataset.type
].animation - defaults.animation
# データセット要素レベルのオプション
各スコープは、最初にオプション名に `elementType`プレフィックスを付けて検索され、次にプレフィックスなしで検索されます。たとえば、`point`要素の`radius`は、`pointRadius`を使用して検索され、見つからない場合は`radius`が使用されます。
- dataset
- options.datasets[
dataset.type
] - options.datasets[
dataset.type
].elements[elementType
] - options.elements[
elementType
] - options
- overrides[
config.type
].datasets[dataset.type
] - overrides[
config.type
].datasets[dataset.type
].elements[elementType
] - defaults.datasets[
dataset.type
] - defaults.datasets[
dataset.type
].elements[elementType
] - defaults.elements[
elementType
] - defaults
# スケールオプション
- options.scales
- overrides[
config.type
].scales - defaults.scales
- defaults.scale
# プラグインオプション
プラグインは、オプションをさらに検索するためのパスの`additionalOptionScopes`配列を提供できます。ルートスコープの場合は、空の文字列:`''`を使用します。ほとんどのコアプラグインもルートスコープからオプションを取得します。
- options.plugins[
plugin.id
] - (options.[
...plugin.additionalOptionScopes
]) - overrides[
config.type
].plugins[plugin.id
] - defaults.plugins[
plugin.id
] - (defaults.[
...plugin.additionalOptionScopes
])
# スクリプト化可能なオプション
スクリプト化可能なオプションは、基になるデータ値ごとに呼び出される関数も受け入れます。この関数は、コンテキスト情報を表す一意の引数`context`を受け取ります(オプションコンテキストを参照)。リゾルバは2番目のパラメータとして渡され、同じコンテキストで他のオプションにアクセスするために使用できます。
注意
`context`引数は、スクリプト化可能な関数内で検証する必要があります。関数は異なるコンテキストで呼び出すことができるためです。 `type`フィールドはこの検証に適しています。
例
color: function(context) {
const index = context.dataIndex;
const value = context.dataset.data[index];
return value < 0 ? 'red' : // draw negative values in red
index % 2 ? 'blue' : // else, alternate values in blue and green
'green';
},
borderColor: function(context, options) {
const color = options.color; // resolve the value of another scriptable option: 'red', 'blue' or 'green'
return Chart.helpers.color(color).lighten(0.2);
}
# インデックス可能なオプション
インデックス可能なオプションは、各項目が同じインデックスの要素に対応する配列も受け入れます。データよりも項目が少ない場合、項目はループされることに注意してください。多くの場合、サポートされている場合は関数を使用する方が適切です。
例
color: [
'red', // color for data at index 0
'blue', // color for data at index 1
'green', // color for data at index 2
'black', // color for data at index 3
//...
]
# オプションコンテキスト
オプションコンテキストは、オプションを解決するときにコンテキスト情報を提供するために使用され、現在はスクリプト化可能なオプションにのみ適用されます。オブジェクトは保持されるため、呼び出し間で情報を保存および渡すために使用できます。
コンテキストオブジェクトには複数のレベルがあります
chart
dataset
data
scale
tick
- `pointLabel`(放射状線形スケールでのみ使用)
tooltip
各レベルは、その親を継承し、親に格納されているコンテキスト情報は、子から利用できます。
コンテキストオブジェクトには、次のプロパティが含まれています
# chart
- `chart`:関連付けられているチャート
- `type`:`'chart'`
# dataset
chartに加えて
- `active`:要素がアクティブ(ホバー)な場合はtrue
- `dataset`:インデックス`datasetIndex`にあるデータセット
- `datasetIndex`:現在のデータセットのインデックス
- `index`:`datasetIndex`と同じ
- `mode`:更新モード
- `type`:`'dataset'`
# data
datasetに加えて
- `active`:要素がアクティブ(ホバー)な場合はtrue
- `dataIndex`:現在のデータのインデックス
- `parsed`:指定された`dataIndex`と`datasetIndex`の解析済みデータ値
- `raw`:指定された`dataIndex`と`datasetIndex`の未加工のデータ値
- `element`:このデータの要素(点、円弧、棒など)
- `index`:`dataIndex`と同じ
- `type`:`'data'`
# scale
chartに加えて
- `scale`:関連付けられているスケール
- `type`:`'scale'`
# tick
scaleに加えて
- `tick`:関連付けられている目盛りオブジェクト
- `index`:目盛りインデックス
- `type`:`'tick'`
# pointLabel
scaleに加えて
- `label`:関連付けられているラベル値
- `index`:ラベルインデックス
- `type`:`'pointLabel'`
# tooltip
chartに加えて
- `tooltip`:ツールチップオブジェクト
- `tooltipItems`:ツールチップが表示しているアイテム