На оcи X отображается undefined, хотя значения есть. Chart js

Не могу разобраться, почему вместо нормальных названий делений (100,200,300) на оси x у меня undefined. Второй день уже бьюсь над этой проблемой.

Ccылка:https://codepen.io/kotbegemotest/pen/oNvGJXp

faValues = [];
raValues = [];

for(let i = 100; i<=20000; i+=100) {
    faValues[i] = i;
}

for(let i = 100; i<=20000; i+=100) {
    raValues[i] =  Math.round(Math.pow(i, 2)/(Math.exp(i/500)-1))
}

let plotLineChart = document.getElementById('plotLineChart');
Chart.defaults.scale.ticks.beginAtZero = true
const data = {
    labels: faValues,
    datasets: [
        {
            label: 'T=500',
            borderWidth: 2,
            boderColor: 'blue',
            pointBackgroundColor : 'blue',
            backgroundColor: 'rgba(65,52,71,0.0)',
            data: raValues

        }                  

    ]
}

const lineChart = new Chart(plotLineChart,{
    type: 'line',
    data: data,
    options : {
      scales: {
        yAxes: [{
          scaleLabel: {
            display: true,
            labelString: 'r',
            fontSize: 32
          }
        }],
        xAxes: [{
          scaleLabel: {
            display: true,
            labelString: 'f',
            fontSize: 32
          }
        }],
      }
    }
});
    <canvas id="plotLineChart">

    </canvas>

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Quazimorda

Вам не надо указывать номер ключа. Попробуйте так:

for(let i = 100; i<=20000; i+=100) {
    faValues.push(i);
}

Вы в вашем коде в цикле брали i с шагом в 100, но сам счётчик тем не менее, пробегал все значения, но значения присваивались лишь каждому сотому элементу массива. Все прочие поэтому и undefine.

Во втором цикле - то же самое.

→ Ссылка