如何使用 chart.js 在点悬停中显示多个值
how to show multiple values in point hover using chart.js
我想知道是否可以在 chart.js 中悬停点时显示更多值。
看看这个fiddle。
这是取自 chart.js 站点的微笑图示例。如果我将鼠标悬停在一个点上,它会显示数据集值。
如何显示其他值。就像沿着这个阵列。
[65, 59, 80, 81, 56, 55, 40]
如果我想显示这个数组值
[1, 2, 3, 4, 5, 6, 7]
。就像我想显示编号一样。这只是一个示例,实际上我想显示更多两个值,但不想将其绘制在仅在悬停中显示的图表上。就像 65 一样,它表明它是第一个值。
如有任何帮助,我们将不胜感激。
可以,请使用下面的 工具提示 选项
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>
如果您想在工具提示中的现有项目下方显示数据,您可以使用 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。
工具提示:{
模式:'index'
}
将此添加到选项
我想知道是否可以在 chart.js 中悬停点时显示更多值。
看看这个fiddle。 这是取自 chart.js 站点的微笑图示例。如果我将鼠标悬停在一个点上,它会显示数据集值。
如何显示其他值。就像沿着这个阵列。
[65, 59, 80, 81, 56, 55, 40]
如果我想显示这个数组值
[1, 2, 3, 4, 5, 6, 7]
。就像我想显示编号一样。这只是一个示例,实际上我想显示更多两个值,但不想将其绘制在仅在悬停中显示的图表上。就像 65 一样,它表明它是第一个值。
如有任何帮助,我们将不胜感激。
可以,请使用下面的 工具提示 选项
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>
如果您想在工具提示中的现有项目下方显示数据,您可以使用 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。
工具提示:{ 模式:'index' }
将此添加到选项