Highcharts логарифмическая шкала с очень маленькими числами - PullRequest
0 голосов
/ 12 сентября 2018

Я использую эту функцию для отображения отрицательных значений в логарифмическом масштабе.Все работает хорошо, за исключением случаев, когда я ставлю очень маленькие цифры, такие как:

[8, 6.986e-8], [14.947368421052632, 1.705e-7], [21.894736842105264, 3.299e-7], [28.842105263157897, 5.606e-7], [35.78947368421053, 8.765e-7], [42.73684210526316, 0.000001292]

В этом случае ось y не будет переведена в логарифмическую форму.У меня нет глубокого понимания прототипирования внутренних функций старших карт.Версия Highcharts - 6.1.2.

// Pass error messages
H.Axis.prototype.allowNegativeLog = true;

// Override conversions
H.Axis.prototype.log2lin = function (num) {
    var isNegative = num < 0,
        adjustedNum = Math.abs(num),
        result;
    if (adjustedNum < 10) {
        adjustedNum += (10 - adjustedNum) / 10;
    }
    result = Math.log(adjustedNum) / Math.LN10;
    return isNegative ? -result : result;
};
H.Axis.prototype.lin2log = function (num) {
    var isNegative = num < 0,
        absNum = Math.abs(num),
        result = Math.pow(10, absNum);
    if (result < 10) {
        result = (10 * (result - 1)) / (10 - 1);
    }
    return isNegative ? -result : result;
};

http://jsfiddle.net/9oLpayw1/ (необходимо указать данные)

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