chartjsを扱う際に「Object literal may only specify known properties, and ‘tension’ does not exist in type ‘ChartDataSets’.」というエラーが出た時の解決法を記載します。
エラー発生時のchartjsのバージョンは2系です。
エラーが発生する該当のソースコードは以下となります。
chartData = {
labels: ['ラベル1','ラベル2','ラベル3'],
datasets: [
{
type: "line",
label: "ラベル名",
data: [1,2,3],
fill: false,
tension: 0, // ここが誤り
borderColor: "#00008b",
}
]
};「tension」が誤りで以下のように「lineTension」とする必要があるようです。
chartData = {
labels: ['ラベル1','ラベル2','ラベル3'],
datasets: [
{
type: "line",
label: "ラベル名",
data: [1,2,3],
fill: false,
lineTension: 0, // ここを修正する
borderColor: "#00008b",
}
]
};以下公式ページを見ると以下のことがわかります。
公式ページからわかること
chartjsのバージョン2系:lineTensionというプロパティ名が正しい
chartjsのバージョン3系:tensionというプロパティ名が正しい
→2系では「lineTension」というプロパティがあったが、3系では無くなり、代わりに「tension」というプロパティが追加されたようです。
→2系では「lineTension」というプロパティを使う必要がある!
chartjs2系の公式ページ:
Line · GitBook
chartjs3系の公式ページ:
Line Chart | Chart.js
Open source HTML5 Charts for your website

