2 回答

TA貢獻1831條經(jīng)驗 獲得超10個贊
您應該使用時間 xAxis獲得更多關于時間的選項。
scales: {
xAxes: [{
type: 'time',
time: {
unit: 'year'
}
}]
},
您必須導入moment.js以獲得更多計算和顯示數(shù)據(jù)的選項。我使用了它,因此您可以以德國日期格式顯示標簽(不知道您是否需要,只是看到您來自德國并且您使用德國日期格式進行輸入)。
這是格式化工具提示的代碼:
tooltips: {
callbacks: {
title: function(tooltipItem, data){
return moment(tooltipItem[0].label).format('DD.MM.YYYY')
}
}
}
這是 JSBin 中的所有代碼
PS:您的日期有誤,例如“2018-01-01”而不是“2019-01-01”,并且將它們放入數(shù)據(jù)時不需要額外的標簽。

TA貢獻1828條經(jīng)驗 獲得超3個贊
當您繪制時間序列時,您應該使用時間軸類型。要使用它,您首先需要更正數(shù)據(jù)集:
必須以明確的格式(即ISO-8601)提供日期:YYYY-MM-DD.
您的日期必須按時間順序排列。您的問題顯示2018-01 在 2018-10圖像和代碼之后,這顯然是一個錯誤。
完成此操作后,您可以根據(jù)需要簡單地將時間軸配置為僅顯示年份:
options: {
scales: {
xAxes: [{
type: "time",
time: {
unit: "year"
}
}
}
}
下面是一個使用您的數(shù)據(jù)集的完整示例(如上文詳述的更正)。請注意,您不需要提供,labels因為時間軸會自動計算刻度標簽。
var config = {
type: 'line',
data: {
datasets: [{
label: 'Modell',
data: [{
x: '2018-01-01',
y: -4.50
}, {
x: '2018-01-04',
y: -4.05
}, {
x: '2018-01-11',
y: -3.76
},
{
x: '2018-01-18',
y: -3.64
}, {
x: '2018-01-25',
y: -3.38
}, {
x: '2018-10-26',
y: -4.43
}, {
x: '2018-11-02',
y: -3.47
}, {
x: '2018-11-09',
y: -3.34
},
{
x: '2018-11-16',
y: -3.62
}, {
x: '2018-11-23',
y: -4.20
}, {
x: '2018-11-30',
y: -3.70
},
{
x: '2018-12-07',
y: -4.04
}, {
x: '2018-12-14',
y: -3.75
}, {
x: '2018-12-21',
y: -4.46
}, {
x: '2018-12-28',
y: -4.50
}, {
x: '2018-12-31',
y: -4.50
}, {
x: '2019-02-01',
y: -3.09
},
{
x: '2019-02-08',
y: -3.24
}, {
x: '2019-02-15',
y: -2.88
}
],
fill: false
}]
},
options: {
responsive: true,
title: {
display: true,
text: 'TAM Eurosectors Defensiv'
},
scales: {
xAxes: [{
type: "time",
time: {
unit: "year"
},
scaleLabel: {
display: true,
labelString: '2018 - 2019'
}
}]
}
}
};
new Chart(document.getElementById("chart"), config);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
<canvas id="chart"></canvas>
添加回答
舉報