我正在使用chart.js
中的散点图,我需要修改高于点时显示的信息。我认为包含此信息的框称为tooltip。
下面显示我现在拥有的,
我想做的是修改第一个,并像x轴一样放置14:52
。
在x轴上很容易,
options: {
scales: {
xAxes: [{
type: 'linear',
position: 'bottom',
ticks: {
callback: function(value, index, values) {
var time = String(value);
if (time.length == 3){
time = '0' + time;
}
var hour = time[0] + time[1];
var min = time[2] + time[3];
var label = hour + ':' + min;
return label;
}
}
}]
}
}
而且我想在这里我必须使用相同的功能,但是我不知道在哪里。我无法访问包含信息的框,它的名称不是工具提示吗?例如,我正在执行以下代码,但没有任何变化。
tooltips:{
title: "New title"
}
如何修改该框?
非常感谢
title
和工具提示上的其他项目可以使用callback功能进行自定义。正确的语法如下所示。
tooltips:{
callbacks: {
title: (tooltipItem, data) => "New title"
}
}
也请查看以下从https://www.chartjs.org/samples/latest/tooltips/callbacks.html派生的更复杂的示例。使用scatter
图表还是line
图表都应该没什么区别。
new Chart(document.getElementById('myChart'), {
type: 'line',
data: {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{
label: 'My First dataset',
borderColor: 'red',
backgroundColor: 'red',
data: [15, 22, 18, 28, 8, 13, 24],
fill: false,
}, {
label: 'My Second dataset',
borderColor: 'blue',
backgroundColor: 'blue',
data: [5, 31, 15, 22, 19, 29, 12],
fill: false,
}]
},
options: {
responsive: true,
title: {
display: true,
text: 'Chart.js Line Chart - Custom Information in Tooltip'
},
tooltips: {
mode: 'index',
callbacks: {
title: (tooltipItem, data) => "New title",
// Use the footer callback to display the sum of the items showing in the tooltip
footer: (tooltipItems, data) => {
var sum = 0;
tooltipItems.forEach(function(tooltipItem) {
sum += data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
});
return 'Sum: ' + sum;
},
},
footerFontStyle: 'normal'
},
hover: {
mode: 'index',
intersect: true
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
show: true,
labelString: 'Month'
}
}],
yAxes: [{
display: true,
scaleLabel: {
show: true,
labelString: 'Value'
}
}]
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
<canvas id="myChart" height="100"></canvas>