始终将Highcharts工具提示相对于标记点放在顶部

时间:2019-01-24 19:20:53

标签: highcharts

是否总是将工具提示放置在该点的顶部?

有没有办法将Highcharts工具提示始终定位在悬停点的顶部?我尝试使用工具提示>定位器来固定位置,但是如果点位于图表边缘,则工具提示会被剪切。

positioner: function(labelWidth, labelHeight, point) {
    var tooltipX = point.plotX + 20;
    var tooltipY = point.plotY - 30;
    return {
        x: tooltipX,
        y: tooltipY
    };
}

1。没有定位器块:

enter image description here

2。使用定位器块:

enter image description here

3。在所有情况下的预期结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以包装getPosition方法并重新计算工具提示位置:

var H = Highcharts;

H.wrap(H.Tooltip.prototype, 'getPosition', function(proceed, boxWidth, boxHeight, point) {
    var result = proceed.apply(this, Array.prototype.slice.call(arguments, 1));

    if (result.y > point.plotY) {
        result.y = result.y + (point.plotY - result.y);
    }
    return result;
});

实时演示:http://jsfiddle.net/BlackLabel/156nydh4/

文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts