Галочка — нет отрицательных

#chart.js

#chart.js

Вопрос:

Если у меня есть линейный chart.js график, который часто имеет все значения 0, будет показывать максимум 1 и минимум -1. Если у меня есть значения около 3000, у меня будет максимум и минимум вокруг этого значения. Я хочу указать отрицательные значения — поэтому я хочу, чтобы нижнее значение было как минимум 0. Существуют варианты для min и suggestedMin, однако оба они устанавливают нижнее значение равным 0. Итак, в примере 3000 верх будет равен 3000, а низ будет равен 0, чего я не хочу. Я хочу, чтобы 3000 остались прежними. Я просто не хочу, чтобы он показывал -1, когда на графике есть 0. Я хочу, чтобы он показывал верхнюю часть 1 и нижнюю часть 0, аналогично тому, как работает min, но рассматривайте его как минимально возможное значение, фактически не устанавливая низкое значение данных графика при этом значении. Таким образом, в случае 3000, 2997 может быть минимальным. Но в случае 0s 0 — это минимум, а не -1. Надеюсь, это имеет смысл.

Ответ №1:

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

 function addData(chart, label, data) {
    chart.data.labels.push(label);
    chart.data.datasets.forEach((dataset) => {
        dataset.data.push(data);
        if (dataset.data.every(item => item === 0)) {
            chart.options.scales.yAxes[0].ticks.min = 0;
        } else {
            chart.options.scales.yAxes[0].ticks.min = undefined;
        }
    });
    chart.update();
}