Ось Y на больших отрицательных и малых положительных значениях в высоких графиках - PullRequest
0 голосов
/ 18 декабря 2018

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

Вот ссылка JSFiddle для подробного просмотра проблемы

Вот пример данныхSerie

series: [{
        name: 'Series 1',
        data: [-348957349855, 23984323, 2938234, 7823479, 2293023]
    }]

Есть ли решение для решения этой проблемы.

1 Ответ

0 голосов
/ 18 декабря 2018

Решением может быть использование другого типа yAxis. API показывает пример с отрицательным логарифмическим значением.Для вашего примера:

yAxis: {
    type:'logarithmic',
    title: {
        text: 'Values'
    }
},

Скрипка

Редактировать: Для угловой интеграции

nb: I 'я не пользователь Angular, может быть, это не сработает

main.ts

...
import * as Highcharts from 'highcharts';

// Now add the function
(function (H) {
    // 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;
    };
}(Highcharts));
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...