Как я могу изменить только конкретную опцию на графике с chart.js? - PullRequest
0 голосов
/ 19 октября 2018

У меня есть input типа number, который дает мне max ticks на X-axis.

Я подписан на valueChange этого ввода, и толькоя нашел способ обновления max value опции тика:

updatedMaxTickX(chart: any, newMax: number): void {
        chart.options = {
            scales: {
                xAxes: [
                    {
                        ticks: {
                            max: newMax
                        }
                    }
                ]
            }
        };
    }

, а затем:

this.detailsForm.get("max").valueChanges.subscribe(v => {
this.updatedMaxTickX(this.canvas, v);
this.canvas.update()
});

это работает, максимальное количество тиков обновляется при вводеменяется, но также происходит и то, что все остальные параметры сбрасываются!

, поэтому в основном я думаю, что это перезаписывает мои параметры и устанавливает все остальное по умолчанию.

как я могу изменить только ticks.maxсохраняя все остальное, как определено в моем контроллере?

Я пытался

this.detailsForm.get("max").valueChanges.subscribe(v => {
this.canvas.options.scales.xAxes.ticks.max = v;
this.canvas.update()
});

, но это не работает и дает мне ошибки.

1 Ответ

0 голосов
/ 19 октября 2018

xAxes - массив, это должно работать:

myChart.options.scales.xAxes[0].ticks.max = v;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...