# 4.x 移行ガイド
Chart.js 4.0では、いくつかの破壊的変更が導入されています。破壊的変更の数は最小限に抑えるよう努めました。一部の機能やバグ修正では、下位互換性を犠牲にする必要がありましたが、メリットがそれに見合う場合にのみそうしました。
#エンドユーザーの移行
# チャート
- チャートはデフォルトのツールチップコールバックをオーバーライドしないため、すべてのチャートタイプで同じ外観のツールチップが表示されます。
- 設定されたスケールが
x
/y
で始まる場合、デフォルトのスケールオーバーライドが削除されました。設定でxAxes
を定義すると、デフォルトのx
軸をオーバーライドするのではなく、2番目のスケールが作成されるようになります。
# オプション
Chart
コンストラクターに渡される設定オプションに、いくつかの変更が加えられました。これらの変更については、以下に説明します。
# 特定の変更点
- radialLinearグリッドのインデックス付け可能およびスクリプト可能なオプションは、指定されたグリッド線のインデックスを減らさなくなりました。
destroy
プラグインフックは削除され、afterDestroy
に置き換えられました。- タイムスケールのティックコールバックは、フォーマットされたラベルではなくタイムスタンプを受け取るようになりました。
scales[id].grid.drawBorder
はscales[id].border.display
に名前が変更されました。scales[id].grid.borderWidth
はscales[id].border.width
に名前が変更されました。scales[id].grid.borderColor
はscales[id].border.color
に名前が変更されました。scales[id].grid.borderDash
はscales[id].border.dash
に名前が変更されました。scales[id].grid.borderDashOffset
はscales[id].border.dashOffset
に名前が変更されました。- スケールのボーダーのzインデックスは、グリッドのzインデックスより1つ上であるのではなく、設定可能になりました。
- 最小値と最大値が同じ場合、線形スケールは最大値の
5%
を範囲に加算および減算するようになりました(以前は1
でした)。 - ツールチップコールバックが
undefined
を返す場合、デフォルトのコールバックが使用されます。 maintainAspectRatio
はコンテナの高さを考慮するようになりました。- 時間と時系列のスケールは、削除された
time.stepSize
ではなくticks.stepSize
を使用するようになりました。 - 決定された最大ティック数が
maxTicksLimit
より小さい場合、autoSkip
のティックにはmaxTickslimit
が使用されなくなります。 dist/chart.js
は削除されました。dist/chart.min.js
はdist/chart.umd.js
に名前が変更されました。dist/chart.esm.js
はdist/chart.js
に名前が変更されました。
# 型の変更
ChartMeta
パラメーターの順序が<Element, DatasetElement, Type>
から<Type, Element, DatasetElement>
に変更されました。
# 一般
- Chart.js はESM専用パッケージ (新しいウィンドウで開きます) になりました(UMDバンドルはまだ利用可能です)。Chart.jsを使用するには、プロジェクトもESモジュールである必要があります。
package.json
にこれを設定してください。Jest (新しいウィンドウで開きます) で問題が発生している場合は、そのドキュメント (新しいウィンドウで開きます) に従ってESMサポートを有効にしてください。または、Vitest (新しいウィンドウで開きます)への移行をお勧めします。VitestはすぐにESMサポートを利用でき、Jestとほぼ同じAPI (新しいウィンドウで開きます) を持っています。移行の例 (新しいウィンドウで開きます) をご覧ください。{ "type": "module" }
- 凡例テキストと取り消し線の色の
fontColor
へのフォールバックを削除しました。 - フィラープラグインで
this.chart
に対するconfig._chart
のフォールバックを削除しました。 - フィラープラグインで
this._chart
を削除しました。