#軸
軸はグラフに不可欠な部分です。これらは、データがチャート上のピクセル値にどのようにマッピングされるかを決定するために使用されます。デカルト チャートには、2 次元のキャンバスに点をマッピングするための 1 つ以上の X 軸と 1 つ以上の Y 軸があります。これらの軸は次のように知られています「デカルト軸」。
レーダー チャートや極エリア チャートなどの放射状チャートには、角度方向と半径方向の点をマッピングする 1 つの軸があります。これらはとして知られています「放射軸」。
Chart.js >v2.0 のスケールは大幅に強力ですが、v1.0 のスケールとは異なります。
- 複数の X 軸と Y 軸がサポートされています。
- 組み込みのラベル自動スキップ機能は、重複する可能性のある目盛とラベルを検出し、n 番目ごとのラベルを削除して、正常に表示された状態を保ちます。
- スケールタイトルがサポートされています。
- 新しいスケール タイプは、まったく新しいグラフ タイプを作成しなくても拡張できます。
#デフォルトのスケール
デフォルトscaleId
デカルト チャートの は次のとおりです。'x'
と'y'
。放射状チャートの場合:'r'
。
各データセットは、必要な各軸 (x、y、または r) のスケールにマッピングされます。データセットがマッピングされるscaleIdは、xAxisID
、yAxisID
またrAxisID
。
軸の ID が指定されていない場合は、その軸の最初のスケールが使用されます。軸のスケールが見つからない場合は、新しいスケールが作成されます。
いくつかの例:
次のグラフには、'x'
と'y'
スケール:
let chart = new Chart(ctx, {
type: 'line'
});
次のグラフにはスケールが付いています'x'
と'myScale'
:
let chart = new Chart(ctx, {
type: 'bar',
data: {
datasets: [{
data: [1, 2, 3]
}]
},
options: {
scales: {
myScale: {
type: 'logarithmic',
position: 'right', // `axis` is determined by the position as `'y'`
}
}
}
});
次のグラフにはスケールが付いています'xAxis'
と'yAxis'
:
let chart = new Chart(ctx, {
type: 'bar',
data: {
datasets: [{
yAxisID: 'yAxis'
}]
},
options: {
scales: {
xAxis: {
// The axis for this scale is determined from the first letter of the id as `'x'`
// It is recommended to specify `position` and / or `axis` explicitly.
type: 'time',
}
}
}
});
次のグラフには、'r'
規模:
let chart = new Chart(ctx, {
type: 'radar'
});
次のグラフには、'myScale'
規模:
let chart = new Chart(ctx, {
type: 'radar',
scales: {
myScale: {
axis: 'r'
}
}
});
#共通構成
ノート
これらはすべての軸でサポートされる共通のオプションのみです。その軸で使用可能なすべてのオプションについては、特定の軸のドキュメントを参照してください。
#全軸共通オプション
名前空間:options.scales[scaleId]
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
type | string | 使用されているスケールの種類。カスタム スケールを作成し、文字列キーを使用して登録できます。これにより、グラフの軸のタイプを変更できます。 | |
alignToPixels | boolean | false | ピクセル値をデバイスのピクセルに合わせます。 |
backgroundColor | Color | スケール領域の背景色。 | |
border | object | 境界線の構成。もっと... | |
display | boolean |string | true | 軸のグローバル可視性を制御します (次の場合に表示されます)。true 、いつ隠されるかfalse )。いつdisplay: 'auto' 、軸は、少なくとも 1 つの関連データセットが表示されている場合にのみ表示されます。 |
grid | object | グリッドラインの構成。もっと... | |
min | number | ユーザー定義のスケールの最小値。データの最小値をオーバーライドします。もっと... | |
max | number | ユーザー定義のスケールの最大値。データの最大値をオーバーライドします。もっと... | |
reverse | boolean | false | スケールを逆にします。 |
stacked | boolean |string | false | データをスタックする必要があります。もっと... |
suggestedMax | number | データの最大値を計算するときに使用される調整。もっと... | |
suggestedMin | number | 最小データ値を計算するときに使用される調整。もっと... | |
ticks | object | 設定にチェックマークを付けます。もっと... | |
weight | number | 0 | 軸のソートに使用される重み。重みが大きいほど、チャート領域から遠くなります。 |
#ティック設定
ノート
これらは、すべての軸でサポートされる共通の目盛オプションにすぎません。その軸で使用可能なすべての目盛オプションについては、特定の軸のドキュメントを参照してください。
#すべての軸に共通の目盛オプション
名前空間:options.scales[scaleId].ticks
名前 | タイプ | スクリプト可能 | デフォルト | 説明 |
---|---|---|---|---|
backdropColor | Color | はい | 'rgba(255, 255, 255, 0.75)' | ラベルの背景の色。 |
backdropPadding | Padding | 2 | ラベルの背景のパディング。 | |
callback | function | チャート上に表示されるティック値の文字列表現を返します。見る折り返し電話。 | ||
display | boolean | true | true の場合、目盛りラベルを表示します。 | |
color | Color | はい | Chart.defaults.color | ダニの色。 |
font | Font | はい | Chart.defaults.font | 見るフォント |
major | object | {} | メジャーティックの設定。 | |
padding | number | 3 | 軸からの目盛りラベルのオフセットを設定します。 | |
showLabelBackdrop | boolean | はい | true 放射状スケールの場合、false さもないと | true の場合、目盛ラベルの後ろに背景を描画します。 |
textStrokeColor | Color | はい | 「」 | テキストの周囲のストロークの色。 |
textStrokeWidth | number | はい | 0 | テキストの周囲のストロークの幅。 |
z | number | 0 | 目盛りレイヤーの Z インデックス。チャート領域に目盛りを描画する場合に便利です。値 <= 0 はデータセットの下に描画され、値 > 0 は上に描画されます。 |
#軸範囲の設定
軸範囲設定の数を考慮すると、それらすべてがどのように相互作用するかを理解することが重要です。
のsuggestedMax
とsuggestedMin
設定は、軸のスケールに使用されるデータ値のみを変更します。これらは、自動フィット動作を維持しながら軸の範囲を拡張するのに役立ちます。
let minDataValue = Math.min(mostNegativeValue, options.suggestedMin);
let maxDataValue = Math.max(mostPositiveValue, options.suggestedMax);
この例では、正の最大値は 50 ですが、データの最大値は 100 まで拡張されます。ただし、最小データ値は 100 を下回っているため、suggestedMin
設定しても無視されます。
let chart = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
label: 'First dataset',
data: [0, 20, 40, 50]
}],
labels: ['January', 'February', 'March', 'April']
},
options: {
scales: {
y: {
suggestedMin: 50,
suggestedMax: 100
}
}
}
});
とは対照的に、suggested*
設定、min
とmax
設定により、軸に明示的な終端が設定されます。これらを設定すると、一部のデータ ポイントが表示されなくなる場合があります。
#スタッキング
デフォルトでは、データはスタックされません。もしstacked
値スケール (水平チャートの Y 軸) のオプションは次のとおりです。true
、正の値と負の値は別々に積み重ねられます。さらに、stack
データセットごとにオプションを定義して、さらにスタック グループに分割できます。もっと...。
グラフによっては、正の値と負の値を積み上げたい場合があります。それは指定することで実現できますstacked: 'single'
。
#コールバック
更新プロセスのさまざまな時点でスケールのパラメーターを変更するために使用できる構成コールバックが多数あります。オプションは、軸オプションの最上位レベルで提供されます。
名前空間:options.scales[scaleId]
名前 | 引数 | 説明 |
---|---|---|
beforeUpdate | axis | 更新プロセスが開始される前に呼び出されるコールバック。 |
beforeSetDimensions | axis | ディメンションが設定される前に実行されるコールバック。 |
afterSetDimensions | axis | ディメンションが設定された後に実行されるコールバック。 |
beforeDataLimits | axis | データ制限が決定される前に実行されるコールバック。 |
afterDataLimits | axis | データ制限が決定された後に実行されるコールバック。 |
beforeBuildTicks | axis | ティックが作成される前に実行されるコールバック。 |
afterBuildTicks | axis | ティックの作成後に実行されるコールバック。ダニのフィルタリングに役立ちます。 |
beforeTickToLabelConversion | axis | ティックが文字列に変換される前に実行されるコールバック。 |
afterTickToLabelConversion | axis | ティックが文字列に変換された後に実行されるコールバック。 |
beforeCalculateLabelRotation | axis | 目盛りの回転が決定される前に実行されるコールバック。 |
afterCalculateLabelRotation | axis | ティック回転が決定された後に実行されるコールバック。 |
beforeFit | axis | スケールがキャンバスに適合する前に実行されるコールバック。 |
afterFit | axis | スケールがキャンバスにフィットした後に実行されるコールバック。 |
afterUpdate | axis | 更新プロセスの最後に実行されるコールバック。 |
#軸のデフォルトの更新
スケールのデフォルト構成は簡単に変更できます。新しいオプションを次のように設定するだけです。Chart.defaults.scales[type]
。
たとえば、すべての線形スケールの最小値を 0 に設定するには、次の手順を実行します。この時間以降に作成された線形スケールの最小値は 0 になります。
Chart.defaults.scales.linear.min = 0;
#新しい軸の作成
新しい軸を作成するには、を参照してください。開発者ドキュメント。