我有以下具有3个数据集的图。除了一个小错误,其他所有东西都可以正常工作。我希望仅将工具提示放在第一个数据集上,因为它目前位于所有数据集的平均位置上。
我知道ChartJS具有定位器功能(下面的功能),但是我不知道如何忽略其他2个数据集,因此工具提示仅粘贴到第一条线图上
Chart.Tooltip.positioners.top = function (elements, eventPosition) {
const tooltip = this;
return ;
};
答案 0 :(得分:1)
您还可以为工具提示定义自定义位置功能。像这样
Chart.Tooltip.positioners.custom = function(elements, eventPosition) {
var x = eventPosition.x;
var y = eventPosition.y;
var minDistance = Number.POSITIVE_INFINITY;
var i, len, nearestElement;
var top_element = elements[0];
for (i = 0, len = elements.length; i < len; ++i) {
console.log(elements[i].tooltipPosition().y);
if (elements[i].tooltipPosition().y < top_element.tooltipPosition().y) {
top_element = elements[i];
}
}
var tp = top_element.tooltipPosition();
x = tp.x;
y = tp.y;
return {
x: x,
y: y
};
};
完成后,您可以在tooltips.options中指定它。
更多信息:
https://www.chartjs.org/docs/latest/configuration/tooltip.html#position-modes
希望有帮助!