Я пытаюсь создать динамическую гистограмму с накоплением с помощью chartJS. Я знаю, как создать обычную гистограмму, но у меня возникает проблема, когда я пытаюсь создать столбчатую диаграмму с накоплением. Для столбчатой диаграммы с накоплением структура данных отличается, и я знаю, как сжимать ее динамически, используя javascript в форме
var inchartdatasets = [];
for (var i = 0; i < leninchart; i++) {
var inlabel = 'label: ' + "'" + inchartlebals[i] + "'";
var indata = 'data: ' + '[' + inchart[i] + ']';
var indataset = '{' + inlabel + ',' + indata + ',backgroundColor: color,}'
inchartdatasets.push(indataset)
}
Приведенный выше код создает результат в следующем формате (это копия из предупреждения):
{label: 'AAA',data: [76.86],backgroundColor: color,},{label: 'Rating Unknown',data: [11.38],backgroundColor: color,},{label: 'BBB',data: [5.91],backgroundColor: color,},{label: '(1) others',data: [3.51],backgroundColor: color,}
Для создания диаграммы я использую:
var data = {
datasets :[
{inchartdatasets}
],
};
var chart = new Chart ( ctx, {
type : "horizontalBar",
data : data,
options : options,
});
это не отображает данные на диаграмме, даже если данные в предупреждении верны. когда я копирую предупреждающее сообщение и жесткий код в данные в следующем коде:
var data = {
datasets :[
{label: 'AAA',data: [76.86],backgroundColor: color,},{label: 'Rating Unknown',data: [11.38],backgroundColor: color,},{label: 'BBB',data: [5.91],backgroundColor: color,},{label: '(1) others',data: [3.51],backgroundColor: color,}
],
};
диаграмма отображается правильно.
что мне здесь не хватает? почему он не отображается динамически? любая помощь приветствуется. Спасибо,