我已经用chart.js 3.7.0提供了一个简单的折线图。我如何为轴和工具箱提供不同的标签呢?在我的例子中,我喜欢为轴给予3个特殊值之外的空标签,但在工具箱中的一个点的确切日期值。
我的版本:
<script>
chartLabels = ['2 years ago','', ... , '','1 year ago','', ... ,'','Today'];
chartData = [0,0, ... ,0,0.13,0.08, ... ,0,0.1];
yMax = 3;
</script>
<canvas id="chart-myvalues" width="160" height="90"></canvas>
此外,在JS中:
const data = {
labels: chartLabels,
datasets: [{
label: 'My Value XYZ',
data: chartData,
tension: 0.5,
}]
};
const config = {
type: 'line',
data: data,
options: {
plugins: {
legend: {
display: false
}
},
scales: {
x: {
grid: {
display: false
},
ticks: {
autoSkip: false,
maxRotation: 0,
minRotation: 0
}
},
y: {
min: 0,
max: yMax,
grid: {
display: false
}
}
}
}
};
new Chart('chart-myvalue',config);
正如这里所要求的正是我所希望的:在上面的截图中,您在x轴和工具箱中看到了1 year ago
。在x轴上,它就像我希望的那样。在工具箱中,我希望看到该值xyz的确切日期(我可以提供日期,但我需要知道如何在chart.js中为工具箱和轴提供不同的标签)
1条答案
按热度按时间qybjjes11#
它叫做
tooltip
,你可以在这里读到更多关于它的信息。基本上,你必须对title
和label
做一个callback
,以分别改变tooltip
的x轴和y轴。下面是它的外观:注意
context
fortitle
返回一个数组,所以你必须索引它来得到元素。完整的例子见下面的代码片段。第一个