Всегда располагайте подсказку Highcharts сверху относительно точки маркера - PullRequest
0 голосов
/ 24 января 2019

Горячий, чтобы всегда располагать подсказку поверх точки?

Есть ли способ разместить всплывающую подсказку 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 голосов
/ 25 января 2019

Вы можете обернуть метод 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...