我想知道如果可以在chart.js中的点悬停上显示更多值。
看看这个fiddle。 这是一个取自chart.js网站的smiple图示例。如果我悬停一个点,它会显示数据集值。
我如何展示其他价值。喜欢这个阵列。
[65, 59, 80, 81, 56, 55, 40]
如果我想显示这个数组值
[1, 2, 3, 4, 5, 6, 7]
。就像我想要显示编号。这只是一个例子,实际上我想显示更多的两个值,但不想在图表上仅在pointhover中显示它。就像在65上一样,它告诉它是第1个值。
非常感谢任何形式的帮助。
答案 0 :(得分:5)
是的,请使用工具提示选项,如下所示
var ctx = document.getElementById('chart1').getContext("2d");
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fill: false,
lineTension: 0.1,
backgroundColor: "rgba(75,192,192,0.4)",
borderColor: "rgba(75,192,192,1)",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "rgba(75,192,192,1)",
pointBackgroundColor: "#fff",
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(75,192,192,1)",
pointHoverBorderColor: "rgba(220,220,220,1)",
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
data: [65, 59, 80, 81, 56, 55, 40],
spanGaps: false,
}
]
};
var options = {
responsive: true,
title: {
display: true,
position: "top",
text: 'anything',
fontSize: 18,
fontColor: "#111"
},
tooltips: {
enabled: true,
mode: 'single',
callbacks: {
label: function(tooltipItems, data) {
var multistringText = [tooltipItems.yLabel];
multistringText.push('Another Item');
multistringText.push(tooltipItems.index+1);
multistringText.push('One more Item');
return multistringText;
}
}
},
legend: {
display: true,
position: "bottom",
labels: {
fontColor: "#333",
fontSize: 16
}
},
scales:{
yAxes:[{
ticks:{
min:0
}
}]
}
};
var myLineChart = new Chart(ctx, {
type: 'line',
data: data,
options: options
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.js"></script>
<canvas id="chart1"></canvas>
&#13;
答案 1 :(得分:1)
如果要在工具提示中的现有项目下方显示数据,可以使用3种不同的工具提示footer
回调。只需将您想要显示的内容定义为chart.js范围之外的数组,并使用索引引用它。
tooltips: {
enabled: true,
mode: 'single',
callbacks: {
beforeFooter: function(tooltipItems, data) {
return 'Point #: ' + footerLine1[tooltipItems[0].index];
},
footer: function(tooltipItems, data) {
return 'Other Data: ' + footerLine2[tooltipItems[0].index];
}
}
},
请记住,您只有3行可以使用(例如3个页脚回调)
请参阅示例here。
答案 2 :(得分:1)
工具提示:{ 模式:“索引” }
将此添加到选项