chartjs, как получить доступ к оси x, которая генерируется динамически, нажимая {x, y} в datasets.data [] в chartjs Scatter plot или Line plot многократно? - PullRequest
0 голосов
/ 10 июля 2019

Я строю график многоосевого рассеяния, на котором сначала datasets[0] Я нанес на диаграмму номинальные данные, которые являются статическими, затем я нажимаю в секунду datasets[1] Динамически сгенерированный dataPoint{x,y}.Как получить доступ к динамически генерируемой оси X после нажатия динамического dataPoint={x,y} в mychart.config.data.datasets[0].data.push(dataPoint), я хочу установить некоторое свойство масштаба оси X, которое генерируется динамически, когда я нажимаю некоторую точку данных, перед любой точкой данных, когда datasets[0].dataпусто, оси x нет, но когда я нажал некоторые данные, chartjs динамически генерирует ось x и ее диапазон.

var myOptions = {

scales: {
        xAxes: [{
                gridLines: {
                    offsetGridLines: false
                }
            },
            {
                id: 'x-axis-2',
                type: 'linear',
                position: 'bottom',
                display: false,
                scaleLabel: {
                    display: true,
                    labelString: 'x values',
                    fontSize: 10

                },
                ticks: {
                    max: myMax,
                    min: myMin,
                    beginAtZero: true,
                }
            }
        ]
    }
}

var myDataset = {
    type: 'scatter',
    lineTension: 0,
    fill: false,
    data: myData,
};

var config = {
    type: 'scatter',
    data: {
        datasets: myDataset,
    },
    options: myOptions
};

// эта конфигурация только для статического набора данных означает, что эта конфигурация xAxes должна работать только в том случае, если все dataPoints будут переданы одновременно.

xAxes: [{
                gridLines: {
                    offsetGridLines: false
                }
            },
            {
                id: 'x-axis-2',
                type: 'linear',
                position: 'bottom',
                display: false,
                scaleLabel: {
                    display: true,
                    labelString: 'x values',
                    fontSize: 10

                },
                ticks: {
                    max: myMax,
                    min: myMin,
                    beginAtZero: true,
                }
            }
        ]

Но как получить доступ к другому x-оси, которая генерируется chartjs динамически при нажатии DataPoint один за другим?

for(i=0;i<100;i++){
   config.data.datasets[1].data.push({
        x: myX,
        y: myY
   });
   Chart.update();
}

Диаграмма обновляется нормально, но я не могу получить доступ к шкале оси X, которая динамически генерируется выше для цикла forкод.

...