@uroot

Почему выводится только одна графа в chartJS?

Работаю с chartJS (графики):
дефолтный код chartJS
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: [], // названия добавляю сюда
        datasets: [{
            label: '# of Votes',
            data: [9, 11],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});

Хочу в массив myChart из localStorage добавить два значения (их там всего два). Делаю это так:
var localStorageLabels = JSON.parse(localStorage.getItem('labels')||'[]');
myChart.data.labels = localStorageLabels;

В массив добавляется два названия для графиков, но в самом графике на странице отображается одна графа с названием нулевого элемента массива, а второго игнорируется. Почему так? Если вручную прописать, то всё работает.
Скрин вывода массива, графика, localStorage
24995244.png
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
0xD34F
@0xD34F
После изменения значения labels надо график обновить: myChart.update().
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@uroot Автор вопроса
Если кликнуть на "График", то потом отобразится второй график:
Скрины
5c40bf1ace112888059124.png5c40bf2206c90178669370.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы